GAMS  1.4.0
gams::pose::AngularAcceleration Class Reference

#include <Coordinate.h>

Inheritance diagram for gams::pose::AngularAcceleration:
gams::pose::Framed< BasicVector< AngularAcceleration, units::angular_acceleration > > gams::pose::BasicVector< Derived, Units >

Public Types

using Base = Framed< BasicVector< AngularAcceleration, units::angular_acceleration > >
 
using derived_type = typename Impl::derived_type
 
using units_type = Units
 

Public Member Functions

 AngularAcceleration ()=default
 
 AngularAcceleration (AngularAccelerationVector 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 ReferenceFrameframe () 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 AngularAccelerationVector () 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 = "AngularAcceleration"
 

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_
 

Detailed Description

Definition at line 1228 of file Coordinate.h.

Member Typedef Documentation

◆ Base

◆ derived_type

using gams::pose::Framed< BasicVector< AngularAcceleration, units::angular_acceleration > >::derived_type = typename Impl::derived_type
inherited

Definition at line 111 of file Framed.h.

◆ mixin

template<typename Derived , typename Units >
using gams::pose::BasicVector< Derived, Units >::mixin = typename unit_traits<Units>::template mixin<Derived>
privateinherited

Definition at line 534 of file Coordinate.h.

◆ storage_mixin

template<typename Derived , typename Units >
using gams::pose::BasicVector< Derived, Units >::storage_mixin = typename unit_traits<Units>::storage_mixin
privateinherited

Definition at line 533 of file Coordinate.h.

◆ traits

template<typename Derived , typename Units >
using gams::pose::BasicVector< Derived, Units >::traits = unit_traits<Units>
privateinherited

Definition at line 532 of file Coordinate.h.

◆ units_type

template<typename Derived , typename Units >
using gams::pose::BasicVector< Derived, Units >::units_type = Units
inherited

Definition at line 543 of file Coordinate.h.

Constructor & Destructor Documentation

◆ AngularAcceleration() [1/2]

gams::pose::AngularAcceleration::AngularAcceleration ( AngularAccelerationVector  o)
inline

Definition at line 1228 of file Coordinate.h.

◆ AngularAcceleration() [2/2]

gams::pose::AngularAcceleration::AngularAcceleration ( )
default

Member Function Documentation

◆ approximately_equal()

bool gams::pose::Framed< BasicVector< AngularAcceleration, units::angular_acceleration > >::approximately_equal ( const Framed< Base2 > &  other,
double  epsilon 
) const
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.

Parameters
otherthe other Coordinate to test against
epsilonthe maximum distance permitted to return true
Returns
true if the distance is less than or equal to epsilon

Definition at line 208 of file Framed.h.

◆ cross()

template<typename Derived , typename Units >
template<typename Other >
Derived gams::pose::BasicVector< Derived, Units >::cross ( const BasicVector< Other, Units > &  other) const
inlineinherited

Passthrough to Eigen vector cross method.

Definition at line 714 of file Coordinate.h.

◆ distance_to()

double gams::pose::Framed< BasicVector< AngularAcceleration, units::angular_acceleration > >::distance_to ( const derived_type target) const
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"

Parameters
targetthe target Coordinate to calculate distance to
Returns
the distance according to the distance metric in the common frame, for CoordType. Typically, return will be meters or degrees.
Exceptions
unrelated_framesthrown if the target's reference frame is not part of the same tree as the current one.
undefined_transformthrown if no conversion between two frames along the conversion path has been defined.

◆ dot()

template<typename Derived , typename Units >
template<typename Other >
double gams::pose::BasicVector< Derived, Units >::dot ( const BasicVector< Other, Units > &  other) const
inlineinherited

Passthrough to Eigen vector dot method.

Definition at line 705 of file Coordinate.h.

◆ fixed()

template<typename Derived , typename Units >
static constexpr bool gams::pose::BasicVector< Derived, Units >::fixed ( )
inlinestaticconstexprinherited

Is this coordinate a fixed vector?

Definition at line 561 of file Coordinate.h.

◆ frame() [1/2]

Getter for the ReferenceFrame this Coordinate belongs to.

Returns
the frame

Definition at line 179 of file Framed.h.

◆ frame() [2/2]

Setter for the ReferenceFrame this Coordinate belongs to.

Any further calculations using this Coordinate will use this frame.

Not thread-safe.

Parameters
new_framethe frame the Coordinate will now belong to
Returns
the old frame

Definition at line 190 of file Framed.h.

◆ free()

template<typename Derived , typename Units >
static constexpr bool gams::pose::BasicVector< Derived, Units >::free ( )
inlinestaticconstexprinherited

Is this coordinate a free vector?

Definition at line 558 of file Coordinate.h.

◆ from_array()

template<typename Derived , typename Units >
template<typename ContainType >
void gams::pose::BasicVector< Derived, Units >::from_array ( const ContainType &  in)
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.

Template Parameters
ContainTypethe type of the container; must support operator[]
Parameters
inthe container to pull new values from.

Definition at line 637 of file Coordinate.h.

◆ from_container()

template<typename Derived , typename Units >
void gams::pose::BasicVector< Derived, Units >::from_container ( const madara::knowledge::containers::NativeDoubleVector &  container)
inlineinherited

Assign values from a NativeDoubleVector container.

Parameters
containerthe container

Definition at line 693 of file Coordinate.h.

◆ get()

template<typename Derived , typename Units >
double gams::pose::BasicVector< Derived, Units >::get ( size_t  i) const
inlineinherited

Get i'th value in this Coordinate.

No range checking!

Definition at line 569 of file Coordinate.h.

◆ is_set()

template<typename Derived , typename Units >
bool gams::pose::BasicVector< Derived, Units >::is_set ( ) const
inlineinherited

Does this coordinate have any values not INVAL_COORD?

Definition at line 581 of file Coordinate.h.

◆ is_zero()

template<typename Derived , typename Units >
bool gams::pose::BasicVector< Derived, Units >::is_zero ( ) const
inlineinherited

Does this coordinate have values all zeroes?

Definition at line 592 of file Coordinate.h.

◆ norm()

template<typename Derived , typename Units >
double gams::pose::BasicVector< Derived, Units >::norm ( ) const
inlineinherited

Passthrough to Eigen vector norm method.

Definition at line 724 of file Coordinate.h.

◆ normalize()

Reduces this Coordinate to it's normalized form, should one exist.

Typically useful for Coordinate types which incorporate angles.

Requres "ReferenceFrame.h"

◆ normalized()

template<typename Derived , typename Units >
Derived gams::pose::BasicVector< Derived, Units >::normalized ( ) const
inlineinherited

Passthrough to Eigen vector normalized method.

Definition at line 740 of file Coordinate.h.

◆ operator AngularAccelerationVector()

gams::pose::AngularAcceleration::operator AngularAccelerationVector ( ) const
inline

Definition at line 1228 of file Coordinate.h.

◆ positional()

template<typename Derived , typename Units >
static constexpr bool gams::pose::BasicVector< Derived, Units >::positional ( )
inlinestaticconstexprinherited

Is this coordinate a positional one?

Definition at line 552 of file Coordinate.h.

◆ rotational()

template<typename Derived , typename Units >
static constexpr bool gams::pose::BasicVector< Derived, Units >::rotational ( )
inlinestaticconstexprinherited

Is this coordinate a rotational one?

Definition at line 555 of file Coordinate.h.

◆ set()

template<typename Derived , typename Units >
double gams::pose::BasicVector< Derived, Units >::set ( size_t  i,
double  v 
)
inlineinherited

Set i'th value in this Coordinate.

No range checking!

Parameters
ithe index of the coordinate
vthe value to set to
Returns
the new value

Definition at line 578 of file Coordinate.h.

◆ size()

template<typename Derived , typename Units >
size_t gams::pose::BasicVector< Derived, Units >::size ( void  ) const
inlineinherited

Get number of values in this coordinate.

Definition at line 564 of file Coordinate.h.

◆ squaredNorm()

template<typename Derived , typename Units >
double gams::pose::BasicVector< Derived, Units >::squaredNorm ( ) const
inlineinherited

Passthrough to Eigen vector squaredNorm method.

Definition at line 732 of file Coordinate.h.

◆ to_array()

template<typename Derived , typename Units >
template<typename ContainType >
void gams::pose::BasicVector< Derived, Units >::to_array ( ContainType &  out) const
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.

Template Parameters
ContainTypethe type of the container; must support "set"
Parameters
outthe container to put this Coordinate's values into.

Definition at line 616 of file Coordinate.h.

◆ to_container()

template<typename Derived , typename Units >
void gams::pose::BasicVector< Derived, Units >::to_container ( madara::knowledge::containers::NativeDoubleVector &  container) const
inlineinherited

Assign values into a NativeDoubleVector container.

Parameters
containerthe container

Definition at line 681 of file Coordinate.h.

◆ to_string()

template<typename Derived , typename Units >
std::string gams::pose::BasicVector< Derived, Units >::to_string ( const std::string &  delimiter = ",",
const std::string &  unset_identifier = "<unset>" 
) const
inlineinherited

Returns a string of the values x, y, z.

Parameters
delimiterdelimiter between values
unset_identifiervalue to print if unset
Returns
stringified version of the Linear

Definition at line 651 of file Coordinate.h.

◆ transform_this_to()

void gams::pose::Framed< BasicVector< AngularAcceleration, units::angular_acceleration > >::transform_this_to ( const ReferenceFrame new_frame)
inherited

Transform this coordinate, in place, to a new reference frame.

Requres "ReferenceFrame.h"

Parameters
new_framethe frame to transform to
Exceptions
unrelated_framesthrown if the new reference frame is not part of the same tree as the current one.
undefined_transformthrown if no conversion between two frames along the conversion path has been defined.

◆ transform_to()

Copy and transform this coordinate to a new reference frame.

Requres "ReferenceFrame.h"

Parameters
new_framethe frame to transform to
Returns
the new coordinate in the new frame
Exceptions
unrelated_framesthrown if the new reference frame is not part of the same tree as the current one.
undefined_transformthrown if no conversion between two frames along the conversion path has been defined.

Member Data Documentation

◆ frame_

Definition at line 278 of file Framed.h.

◆ type_name

constexpr const char* gams::pose::AngularAcceleration::type_name = "AngularAcceleration"
staticconstexpr

Definition at line 1228 of file Coordinate.h.

◆ vec_

template<typename Derived , typename Units >
Eigen::Vector3d gams::pose::BasicVector< Derived, Units >::vec_
privateinherited

Definition at line 530 of file Coordinate.h.


The documentation for this class was generated from the following file: