Go to the documentation of this file.
5 #include <SimoxUtility/shapes/OrientedBox.h>
6 #include <SimoxUtility/meta/eigen/enable_if_compile_time_size.h>
41 return enabled.at(
static_cast<std::uint_fast8_t
>(al));
49 return enabled.at(
static_cast<std::uint_fast8_t
>(al));
57 0, 0, 0, 0, 0, 0, 0, 0,
58 0, 0, 0, 0, 0, 0, 0, 0,
59 0, 0, 0, 0, 0, 0, 0, 0
80 Eigen::Vector3f
tcp_shift = Eigen::Vector3f::Constant(std::nanf(
""));
81 Eigen::Vector3f
hand_up = Eigen::Vector3f::Constant(std::nanf(
""));
87 Eigen::Vector3f
approach = Eigen::Vector3f::Constant(std::nanf(
""));
91 const std::string& provider_name
94 const std::string& provider_name,
95 const std::string& side_name,
99 const std::string& provider_name,
100 const std::string& side_name,
122 const std::map<std::string, side_data>&
sides()
const;
131 const std::string&
side,
140 const std::string&
side,
149 template<
class D1,
class D2,
class D3>
152 simox::meta::is_vec3_v<D1>&&
153 simox::meta::is_vec3_v<D2>&&
154 simox::meta::is_vec3_v<D3>,
grasp >
156 const Eigen::MatrixBase<D1>& center_pos,
157 const Eigen::MatrixBase<D2>& up,
float up_len,
const Eigen::Vector3f& hand_up,
158 const Eigen::MatrixBase<D3>& transverse,
const Eigen::Vector3f& hand_transv,
159 const Eigen::Vector3f& tcp_shift);
164 std::map<std::string, side_data> _sides;
bool & operator[](box_alignment al)
bool operator[](box_alignment al) const
void center_grasps(const box_t &box, const side_data &side, const length_limit &limit, auto consume_grasp)
float transverse_length_max
box_to_grasp_candidates(armarx::RobotNameHelperPtr rnh, const VirtualRobot::RobotPtr &robot)
static float box_forward_len(const box_t &box, box_alignment align)
Eigen::Vector3f tcp_shift
static float box_transverse_len(const box_t &box, box_alignment align)
armarx::grasping::GraspCandidatePtr make_candidate(const std::string &provider_name) const
armarx::RobotNameHelper::RobotArm nh_arm_w_rob
void * align(size_t alignment, size_t bytes, void *&bufferPlace, size_t &bufferSpace) noexcept
float transverse_length_min
std::shared_ptr< class RobotNameHelper > RobotNameHelperPtr
std::string limit_violation_string(const box_t &box, box_alignment align) const
armarx::RobotNameHelper::Arm nh_arm
std::array< bool, 24 > enabled
void add_armar6_defaults()
const side_data & side(const std::string &side) const
grasp center_grasp(const box_t &box, const side_data &side, box_alignment align)
static Eigen::Vector3f box_up_axis(const box_t &box, box_alignment align)
MatrixXX< 4, 4, float > Matrix4f
bool operator[](std::uint_fast8_t al) const
bool & operator[](std::uint_fast8_t al)
static Eigen::Vector3f box_transverse_axis(const box_t &box, box_alignment align)
static float box_up_len(const box_t &box, box_alignment align)
const std::map< std::string, side_data > & sides() const
bool in_limits(const box_t &box, box_alignment align) const
Eigen::Vector3f hand_transverse
This file offers overloads of toIce() and fromIce() functions for STL container types.
std::shared_ptr< class Robot > RobotPtr