#include <cube.h>
Public Types | |
typedef boost::shared_ptr< Cube > | Ptr |
Public Member Functions | |
Cube (const Eigen::Vector3f &pos, const Eigen::Quaternionf &rot) | |
Cube (const Eigen::Vector3f &pos, const Eigen::Quaternionf &rot, const std::vector< double > &dimensions) | |
Cube (const Eigen::Vector3f &pos, const Eigen::Quaternionf &rot, const Eigen::Vector3f &dimensions) | |
Cube (const Eigen::Vector3f &pos, const Line &line_a, const Line &line_b, const Line &line_c) | |
Cube (const jsk_recognition_msgs::BoundingBox &box) | |
std::vector< Segment::Ptr > | edges () |
std::vector< Polygon::Ptr > | faces () |
returns all the 6 faces as Polygon::Ptr. TODO: is it should be ConvexPolygon? More... | |
std::vector< double > | getDimensions () const |
ConvexPolygon::Ptr | intersectConvexPolygon (Plane &plane) |
virtual Eigen::Vector3f | nearestPoint (const Eigen::Vector3f &p, double &distance) |
compute minimum distance from point p to cube surface. More... | |
void | setDimensions (const std::vector< double > &new_dimensions) |
jsk_recognition_msgs::BoundingBox | toROSMsg () |
Vertices | transformVertices (const Eigen::Affine3f &pose_offset) |
returns vertices transformed by pose_offset. More... | |
Vertices | vertices () |
returns vertices as an array of Eigen::Vectro3f. The order of the vertices is: [1, 1, 1], [-1, 1, 1], [-1, -1, 1], [1, -1, 1], [1, 1, -1], [-1, 1, -1], [-1, -1, -1], [1, -1, -1]. More... | |
virtual | ~Cube () |
Protected Member Functions | |
virtual Polygon::Ptr | buildFace (const Eigen::Vector3f v0, const Eigen::Vector3f v1, const Eigen::Vector3f v2, const Eigen::Vector3f v3) |
A helper method to build polygon from 4 vertices. More... | |
virtual Eigen::Vector3f | buildVertex (double i, double j, double k) |
A helper method to build vertex from x-y-z relatiev coordinates. More... | |
Protected Attributes | |
std::vector< double > | dimensions_ |
Eigen::Vector3f | pos_ |
Eigen::Quaternionf | rot_ |
jsk_recognition_utils::Cube::Cube | ( | const Eigen::Vector3f & | pos, |
const Eigen::Quaternionf & | rot | ||
) |
jsk_recognition_utils::Cube::Cube | ( | const Eigen::Vector3f & | pos, |
const Eigen::Quaternionf & | rot, | ||
const std::vector< double > & | dimensions | ||
) |
jsk_recognition_utils::Cube::Cube | ( | const Eigen::Vector3f & | pos, |
const Eigen::Quaternionf & | rot, | ||
const Eigen::Vector3f & | dimensions | ||
) |
jsk_recognition_utils::Cube::Cube | ( | const jsk_recognition_msgs::BoundingBox & | box | ) |
|
protectedvirtual |
|
protectedvirtual |
std::vector< Segment::Ptr > jsk_recognition_utils::Cube::edges | ( | ) |
std::vector< Polygon::Ptr > jsk_recognition_utils::Cube::faces | ( | ) |
returns all the 6 faces as Polygon::Ptr. TODO: is it should be ConvexPolygon?
|
inline |
ConvexPolygon::Ptr jsk_recognition_utils::Cube::intersectConvexPolygon | ( | Plane & | plane | ) |
|
virtual |
compute minimum distance from point p to cube surface.
Distance computation depends on Polygon::nearestPoint and this methods just searches a face which resutnrs the smallest distance.
|
inline |
jsk_recognition_msgs::BoundingBox jsk_recognition_utils::Cube::toROSMsg | ( | ) |
Vertices jsk_recognition_utils::Cube::transformVertices | ( | const Eigen::Affine3f & | pose_offset | ) |
Vertices jsk_recognition_utils::Cube::vertices | ( | ) |
|
protected |
|
protected |