#include <hpp/constraints/convex-shape.hh>
Represent a convex shape.
- Parameters
-
pts | a sequence of points lying in a plane. The convex shape is obtained by connecting consecutive points (in a circular way) |
- Note
- There is no convexity check yet. The order is important: The normal is parallel to (pts[1] - pts[0]).cross (pts[2] - pts[1]) The normal to the segment in the plane are directed outward. (pts[i+1] - pts[i]).cross (normalToConvexShape)
hpp::constraints::ConvexShape::ConvexShape |
( |
const fcl::TriangleP & |
t, |
|
|
const JointPtr_t & |
joint = JointPtr_t() |
|
) |
| |
|
inline |
This constructor is required for compatibility with deprecated Triangle constructor.
hpp::constraints::ConvexShape::ConvexShape |
( |
const ConvexShape & |
t | ) |
|
|
inline |
const Transform3f& hpp::constraints::ConvexShape::alignedPositionInJoint |
( |
| ) |
const |
|
inline |
const vector3_t& hpp::constraints::ConvexShape::center |
( |
| ) |
const |
|
inline |
Return the center in world frame.
void hpp::constraints::ConvexShape::computeAlignedPosition |
( |
vector3_t |
yaxis | ) |
const |
|
inline |
Return the shortest distance from a point to the shape A negative value means the point is inside the shape.
- Parameters
-
A | a point already in the plane containing the convex shape, and expressed in the global frame. |
References Eigen::assert(), and Eigen::d.
bool hpp::constraints::ConvexShape::isInside |
( |
const vector3_t & |
A, |
|
|
const vector3_t & |
u |
|
) |
| const |
|
inline |
Check whether the intersection of the line defined by A and u onto the plane containing the triangle is inside the triangle.
References Eigen::assert().
bool hpp::constraints::ConvexShape::isInside |
( |
const vector3_t & |
Ap | ) |
const |
|
inline |
bool hpp::constraints::ConvexShape::isInsideLocal |
( |
const vector3_t & |
Ap | ) |
const |
|
inline |
As isInside but consider A as expressed in joint frame.
References Eigen::assert().
const vector3_t& hpp::constraints::ConvexShape::normal |
( |
| ) |
const |
|
inline |
const vector3_t& hpp::constraints::ConvexShape::planeXaxis |
( |
| ) |
const |
|
inline |
Return the X axis of the plane in the joint frame.
References Eigen::assert().
const vector3_t& hpp::constraints::ConvexShape::planeYaxis |
( |
| ) |
const |
|
inline |
Return the Y axis of the plane in the joint frame The Y axis is aligned with \( Pts_[1] - Pts_[0] \).
References Eigen::assert().
const Transform3f& hpp::constraints::ConvexShape::positionInJoint |
( |
| ) |
const |
|
inline |
Transform of the shape in the joint frame.
void hpp::constraints::ConvexShape::reverse |
( |
| ) |
|
|
inline |
void hpp::constraints::ConvexShape::updateToCurrentTransform |
( |
| ) |
const |
|
inline |
the center in the joint frame. It is constant.
vector_t hpp::constraints::ConvexShape::Ls_ |
the normal to the shape in the joint frame. It is constant.
std::vector<vector3_t> hpp::constraints::ConvexShape::Ns_ |
Ns_ and Us_ are unit vector, in the plane containing the shape, expressed in the joint frame.
Ns_[i] is normal to edge i, pointing inside. Ns_[i] is a vector director of edge i.
std::vector<vector3_t> hpp::constraints::ConvexShape::Pts_ |
The points in the joint frame. It is constant.
size_t hpp::constraints::ConvexShape::shapeDimension_ |
std::vector<vector3_t> hpp::constraints::ConvexShape::Us_ |