hpp-constraints  4.9.1
Definition of basic geometric constraints for motion planning
hpp::constraints::ConvexShape Class Reference

#include <hpp/constraints/convex-shape.hh>

Public Member Functions

 ConvexShape (const std::vector< vector3_t > &pts, JointPtr_t joint=JointPtr_t())
 
 ConvexShape (const fcl::TriangleP &t, const JointPtr_t &joint=JointPtr_t())
 
 ConvexShape (const vector3_t &p0, const vector3_t &p1, const vector3_t &p2, const JointPtr_t &joint=JointPtr_t())
 
 ConvexShape (const ConvexShape &t)
 
void reverse ()
 
vector3_t intersectionLocal (const vector3_t &A, const vector3_t &u) const
 
bool isInsideLocal (const vector3_t &Ap) const
 As isInside but consider A as expressed in joint frame. More...
 
value_type distanceLocal (const vector3_t &a) const
 
const vector3_tplaneXaxis () const
 Return the X axis of the plane in the joint frame. More...
 
const vector3_tplaneYaxis () const
 
const Transform3fpositionInJoint () const
 Transform of the shape in the joint frame. More...
 

Public Attributes

std::vector< vector3_tPts_
 The points in the joint frame. It is constant. More...
 
size_t shapeDimension_
 
vector3_t C_
 the center in the joint frame. It is constant. More...
 
vector3_t N_
 the normal to the shape in the joint frame. It is constant. More...
 
std::vector< vector3_tNs_
 
std::vector< vector3_tUs_
 
vector_t Ls_
 
Transform3f MinJoint_
 
JointPtr_t joint_
 

Constructor & Destructor Documentation

◆ ConvexShape() [1/4]

hpp::constraints::ConvexShape::ConvexShape ( const std::vector< vector3_t > &  pts,
JointPtr_t  joint = JointPtr_t() 
)
inline

Represent a convex shape

Parameters
ptsa 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)

◆ ConvexShape() [2/4]

hpp::constraints::ConvexShape::ConvexShape ( const fcl::TriangleP t,
const JointPtr_t joint = JointPtr_t() 
)
inline

◆ ConvexShape() [3/4]

hpp::constraints::ConvexShape::ConvexShape ( const vector3_t p0,
const vector3_t p1,
const vector3_t p2,
const JointPtr_t joint = JointPtr_t() 
)
inline

This constructor is required for compatibility with deprecated Triangle constructor.

◆ ConvexShape() [4/4]

hpp::constraints::ConvexShape::ConvexShape ( const ConvexShape t)
inline

Member Function Documentation

◆ distanceLocal()

value_type hpp::constraints::ConvexShape::distanceLocal ( const vector3_t a) const
inline

Return the shortest distance from a point to the shape A negative value means the point is inside the shape

Parameters
aa point already in the plane containing the convex shape, and expressed in the local frame.

◆ intersectionLocal()

vector3_t hpp::constraints::ConvexShape::intersectionLocal ( const vector3_t A,
const vector3_t u 
) const
inline

Intersection with a line defined by a point and a vector.

Parameters
A,upoint and vector expressed in the local frame.

◆ isInsideLocal()

bool hpp::constraints::ConvexShape::isInsideLocal ( const vector3_t Ap) const
inline

As isInside but consider A as expressed in joint frame.

◆ planeXaxis()

const vector3_t& hpp::constraints::ConvexShape::planeXaxis ( ) const
inline

Return the X axis of the plane in the joint frame.

◆ planeYaxis()

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] \)

◆ positionInJoint()

const Transform3f& hpp::constraints::ConvexShape::positionInJoint ( ) const
inline

Transform of the shape in the joint frame.

◆ reverse()

void hpp::constraints::ConvexShape::reverse ( )
inline

Member Data Documentation

◆ C_

vector3_t hpp::constraints::ConvexShape::C_

the center in the joint frame. It is constant.

◆ joint_

JointPtr_t hpp::constraints::ConvexShape::joint_

◆ Ls_

vector_t hpp::constraints::ConvexShape::Ls_

◆ MinJoint_

Transform3f hpp::constraints::ConvexShape::MinJoint_

◆ N_

vector3_t hpp::constraints::ConvexShape::N_

the normal to the shape in the joint frame. It is constant.

◆ Ns_

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.

◆ Pts_

std::vector<vector3_t> hpp::constraints::ConvexShape::Pts_

The points in the joint frame. It is constant.

◆ shapeDimension_

size_t hpp::constraints::ConvexShape::shapeDimension_

◆ Us_

std::vector<vector3_t> hpp::constraints::ConvexShape::Us_

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