1#include "state_representation/geometry/Shape.hpp"
3#include "state_representation/exceptions/EmptyStateException.hpp"
4#include "state_representation/exceptions/IncompatibleReferenceFramesException.hpp"
9 this->
set_type(StateType::GEOMETRY_SHAPE);
12Shape::Shape(
const std::string& name,
const std::string& reference_frame) :
14 this->
set_type(StateType::GEOMETRY_SHAPE);
37 return this->center_state_;
42 return static_cast<const CartesianPose&
>(this->center_state_);
61 if (state.is_empty()) {
64 this->center_state_ = state;
71 "The shape state and the given pose are not expressed in the same reference frame");
93 s << std::endl <<
"state:" << std::endl;
99 os << shape.to_string();
Class to define Cartesian pose in Cartesian space as 3D position and quaternion based orientation.
Class to represent a state in Cartesian space.
void set_orientation(const Eigen::Quaterniond &orientation)
Setter of the orientation.
const Eigen::Vector3d & get_position() const
Getter of the position attribute.
void set_position(const Eigen::Vector3d &position)
Setter of the position.
const Eigen::Quaterniond & get_orientation() const
Getter of the orientation attribute.
void set_pose(const Eigen::Vector3d &position, const Eigen::Quaterniond &orientation)
Setter of the pose from both position and orientation.
Class to define twist in Cartesian space as 3D linear and angular velocity vectors.
void set_center_orientation(const Eigen::Quaterniond &orientation)
Setter of the pose.
void set_center_state(const CartesianState &state)
Setter of the state.
friend void swap(Shape &state1, Shape &state2)
Swap the values of the two Shapes.
Shape & operator=(const Shape &state)
Copy assignment operator that has to be defined to the custom assignment operator.
static Shape Unit(const std::string &name, const std::string &reference_frame="world")
Constructor for a Shape with identity state.
Shape()
Empty constructor.
const Eigen::Vector3d get_center_position() const
Getter of the position from the state.
std::string to_string() const override
Convert the state to its string representation.
const CartesianState & get_center_state() const
Getter of the state.
const CartesianPose & get_center_pose() const
Getter of the pose from the state.
const Eigen::Quaterniond get_center_orientation() const
Getter of the orientation from the state.
void set_center_pose(const CartesianPose &pose)
Setter of the pose.
void set_center_position(const Eigen::Vector3d &position)
Setter of the position.
const CartesianTwist & get_center_twist() const
Getter of the twist from the state.
const std::string & get_reference_frame() const
Getter of the reference frame as const reference.
Abstract class to represent a state.
void set_type(const StateType &type)
Setter of the state type attribute.
virtual std::string to_string() const
Convert the state to its string representation.
void assert_not_empty() const
Throw an exception if the state is empty.
bool is_empty() const
Getter of the empty attribute.
void set_empty(bool empty=true)
Setter of the empty attribute.
Core state variables and objects.
std::ostream & operator<<(std::ostream &os, const AnalogIOState &state)