GAMS
1.4.0
|
#include <Coordinate.h>
Public Types | |
using | Base = Framed< BasicVector< Position, units::absolute< units::length > > > |
using | derived_type = typename Impl::derived_type |
using | units_type = Units |
Public Member Functions | |
Position ()=default | |
Position (PositionVector o) | |
bool | approximately_equal (const Framed< Base2 > &other, double epsilon) const |
Tests if this Coordinate is within epsilon in distance (as defined by this Coordinate's reference frame's distance metric). More... | |
template<typename Other > | |
Derived | cross (const BasicVector< Other, Units > &other) const |
Passthrough to Eigen vector cross method. More... | |
double | distance_to (const derived_type &target) const |
Calculate distance from this Coordinate to a target. More... | |
template<typename Other > | |
double | dot (const BasicVector< Other, Units > &other) const |
Passthrough to Eigen vector dot method. More... | |
const ReferenceFrame & | frame () const |
Getter for the ReferenceFrame this Coordinate belongs to. More... | |
ReferenceFrame | frame (ReferenceFrame new_frame) |
Setter for the ReferenceFrame this Coordinate belongs to. More... | |
template<typename ContainType > | |
void | from_array (const ContainType &in) |
Overwrites this Coordinate's values with those pulled from the referenced array. More... | |
void | from_container (const madara::knowledge::containers::NativeDoubleVector &container) |
Assign values from a NativeDoubleVector container. More... | |
double | get (size_t i) const |
Get i'th value in this Coordinate. More... | |
bool | is_set () const |
Does this coordinate have any values not INVAL_COORD? More... | |
bool | is_zero () const |
Does this coordinate have values all zeroes? More... | |
double | norm () const |
Passthrough to Eigen vector norm method. More... | |
void | normalize () |
Reduces this Coordinate to it's normalized form, should one exist. More... | |
Derived | normalized () const |
Passthrough to Eigen vector normalized method. More... | |
operator PositionVector () const | |
double | set (size_t i, double v) |
Set i'th value in this Coordinate. More... | |
size_t | size () const |
Get number of values in this coordinate. More... | |
double | squaredNorm () const |
Passthrough to Eigen vector squaredNorm method. More... | |
template<typename ContainType > | |
void | to_array (ContainType &out) const |
Outputs this Coordinates values to the referenced container. More... | |
void | to_container (madara::knowledge::containers::NativeDoubleVector &container) const |
Assign values into a NativeDoubleVector container. More... | |
std::string | to_string (const std::string &delimiter=",", const std::string &unset_identifier="<unset>") const |
Returns a string of the values x, y, z. More... | |
void | transform_this_to (const ReferenceFrame &new_frame) |
Transform this coordinate, in place, to a new reference frame. More... | |
derived_type WARN_UNUSED | transform_to (const ReferenceFrame &new_frame) const |
Copy and transform this coordinate to a new reference frame. More... | |
Static Public Member Functions | |
static constexpr bool | fixed () |
Is this coordinate a fixed vector? More... | |
static constexpr bool | free () |
Is this coordinate a free vector? More... | |
static constexpr bool | positional () |
Is this coordinate a positional one? More... | |
static constexpr bool | rotational () |
Is this coordinate a rotational one? More... | |
Static Public Attributes | |
static constexpr const char * | type_name = "Position" |
Private Types | |
using | mixin = typename unit_traits< Units >::template mixin< Derived > |
using | storage_mixin = typename unit_traits< Units >::storage_mixin |
using | traits = unit_traits< Units > |
Private Attributes | |
ReferenceFrame | frame_ |
Eigen::Vector3d | vec_ |
Definition at line 1220 of file Coordinate.h.
using gams::pose::Position::Base = Framed<BasicVector< Position , units::absolute<units::length> > > |
Definition at line 1220 of file Coordinate.h.
|
inherited |
|
privateinherited |
Definition at line 534 of file Coordinate.h.
|
privateinherited |
Definition at line 533 of file Coordinate.h.
|
privateinherited |
Definition at line 532 of file Coordinate.h.
|
inherited |
Definition at line 543 of file Coordinate.h.
|
inline |
Definition at line 1220 of file Coordinate.h.
|
default |
|
inlineinherited |
Tests if this Coordinate is within epsilon in distance (as defined by this Coordinate's reference frame's distance metric).
If the other Coordinate is in a different reference frame, it is first copied, and converted to this Coordinate's reference frame.
other | the other Coordinate to test against |
epsilon | the maximum distance permitted to return true |
|
inlineinherited |
Passthrough to Eigen vector cross method.
Definition at line 714 of file Coordinate.h.
|
inherited |
Calculate distance from this Coordinate to a target.
If the target is in another reference frame, this and the target will be copied, and converted to their closest common frame.
Requres "ReferenceFrame.h"
target | the target Coordinate to calculate distance to |
unrelated_frames | thrown if the target's reference frame is not part of the same tree as the current one. |
undefined_transform | thrown if no conversion between two frames along the conversion path has been defined. |
|
inlineinherited |
Passthrough to Eigen vector dot method.
Definition at line 705 of file Coordinate.h.
|
inlinestaticconstexprinherited |
Is this coordinate a fixed vector?
Definition at line 561 of file Coordinate.h.
|
inlineinherited |
Getter for the ReferenceFrame this Coordinate belongs to.
|
inlineinherited |
Setter for the ReferenceFrame this Coordinate belongs to.
Any further calculations using this Coordinate will use this frame.
Not thread-safe.
new_frame | the frame the Coordinate will now belong to |
|
inlinestaticconstexprinherited |
Is this coordinate a free vector?
Definition at line 558 of file Coordinate.h.
|
inlineinherited |
Overwrites this Coordinate's values with those pulled from the referenced array.
These values will be within this object's current reference frame. The container must support operator[],
If the array's size is smaller than the cardinality of this coordinate type, the behavior is undefined. If it is larger, the extra elements are ignored.
ContainType | the type of the container; must support operator[] |
in | the container to pull new values from. |
Definition at line 637 of file Coordinate.h.
|
inlineinherited |
Assign values from a NativeDoubleVector container.
container | the container |
Definition at line 693 of file Coordinate.h.
|
inlineinherited |
|
inlineinherited |
Does this coordinate have any values not INVAL_COORD?
Definition at line 581 of file Coordinate.h.
|
inlineinherited |
Does this coordinate have values all zeroes?
Definition at line 592 of file Coordinate.h.
|
inlineinherited |
Passthrough to Eigen vector norm method.
Definition at line 724 of file Coordinate.h.
|
inherited |
Reduces this Coordinate to it's normalized form, should one exist.
Typically useful for Coordinate types which incorporate angles.
Requres "ReferenceFrame.h"
|
inlineinherited |
Passthrough to Eigen vector normalized method.
Definition at line 740 of file Coordinate.h.
|
inline |
Definition at line 1220 of file Coordinate.h.
|
inlinestaticconstexprinherited |
Is this coordinate a positional one?
Definition at line 552 of file Coordinate.h.
|
inlinestaticconstexprinherited |
Is this coordinate a rotational one?
Definition at line 555 of file Coordinate.h.
|
inlineinherited |
Set i'th value in this Coordinate.
No range checking!
i | the index of the coordinate |
v | the value to set to |
Definition at line 578 of file Coordinate.h.
|
inlineinherited |
Get number of values in this coordinate.
Definition at line 564 of file Coordinate.h.
|
inlineinherited |
Passthrough to Eigen vector squaredNorm method.
Definition at line 732 of file Coordinate.h.
|
inlineinherited |
Outputs this Coordinates values to the referenced container.
This container type must support operator[] for setting by index.
If the array's size is smaller than the cardinality of this coordinate type, the behavior is undefined. If it is larger, the extra elements are not changed.
The MADARA DoubleVector and NativeDoubleVector types are supported.
ContainType | the type of the container; must support "set" |
out | the container to put this Coordinate's values into. |
Definition at line 616 of file Coordinate.h.
|
inlineinherited |
Assign values into a NativeDoubleVector container.
container | the container |
Definition at line 681 of file Coordinate.h.
|
inlineinherited |
Returns a string of the values x, y, z.
delimiter | delimiter between values |
unset_identifier | value to print if unset |
Definition at line 651 of file Coordinate.h.
|
inherited |
Transform this coordinate, in place, to a new reference frame.
Requres "ReferenceFrame.h"
new_frame | the frame to transform to |
unrelated_frames | thrown if the new reference frame is not part of the same tree as the current one. |
undefined_transform | thrown if no conversion between two frames along the conversion path has been defined. |
|
inherited |
Copy and transform this coordinate to a new reference frame.
Requres "ReferenceFrame.h"
new_frame | the frame to transform to |
unrelated_frames | thrown if the new reference frame is not part of the same tree as the current one. |
undefined_transform | thrown if no conversion between two frames along the conversion path has been defined. |
|
privateinherited |
|
staticconstexpr |
Definition at line 1220 of file Coordinate.h.
|
privateinherited |
Definition at line 530 of file Coordinate.h.