hpp-constraints: hpp::constraints::ConvexShape Class Reference

hpp-constraints 9.0.2 Definition of basic geometric constraints for motion planning

Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
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 coal::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.
value_type | distanceLocal (const vector3_t &a) const
const vector3_t & | planeXaxis () const
| Return the X axis of the plane in the joint frame.
const vector3_t & | planeYaxis () const
const Transform3s & | positionInJoint () const
| Transform of the shape in the joint frame.
bool | operator== (ConvexShape const &other) const
bool | operator!= (ConvexShape const &other) const

## Public Attributes
std::vector< vector3_t > | Pts_
| The points in the joint frame. It is constant.
size_t | shapeDimension_
vector3_t | C_
| the center in the joint frame. It is constant.
vector3_t | N_
| the normal to the shape in the joint frame. It is constant.
std::vector< vector3_t > | Ns_
std::vector< vector3_t > | Us_
vector_t | Ls_
Transform3s | 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

  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)

## ◆ ConvexShape() [2/4]

hpp::constraints::ConvexShape::ConvexShape | ( | const coal::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

  a | a 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,u | point 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.

## ◆ operator!=()

bool hpp::constraints::ConvexShape::operator!= | ( | ConvexShape const & | other | ) | const
| inline

## ◆ operator==()

bool hpp::constraints::ConvexShape::operator== | ( | ConvexShape const & | other | ) | const
| inline

## ◆ 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

## ◆ positionInJoint()

const Transform3s & 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_

Transform3s 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:

- include/hpp/constraints/convex-shape.hh