hpp-constraints  4.9.1
Definition of basic geometric constraints for motion planning
hpp::constraints::ConvexShapeData Struct Reference

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

Public Member Functions

void updateToCurrentTransform (const ConvexShape &cs)
 Compute center and normal in world frame. More...
 
void updateToCurrentTransform (const ConvexShape &cs, const pinocchio::DeviceData &d)
 
template<bool WorldFrame>
void _recompute (const ConvexShape &cs)
 
vector3_t intersection (const vector3_t &A, const vector3_t &u) const
 
bool isInside (const ConvexShape &cs, const vector3_t &A, const vector3_t &u) const
 
bool isInside (const ConvexShape &cs, const vector3_t &Ap) const
 Check whether the point As in world frame is inside the triangle. More...
 
Transform3f alignedPositionInJoint (const ConvexShape &cs, vector3_t yaxis) const
 
value_type distance (const ConvexShape &cs, vector3_t a) const
 

Public Attributes

vector3_t normal_
 
vector3_t center_
 
Transform3f oMj_
 

Member Function Documentation

◆ _recompute()

template<bool WorldFrame>
void hpp::constraints::ConvexShapeData::_recompute ( const ConvexShape cs)
inline

◆ alignedPositionInJoint()

Transform3f hpp::constraints::ConvexShapeData::alignedPositionInJoint ( const ConvexShape cs,
vector3_t  yaxis 
) const
inline
Parameters
yaxisvector in world frame to which we should try to align

◆ distance()

value_type hpp::constraints::ConvexShapeData::distance ( const ConvexShape cs,
vector3_t  a 
) const
inline

See ConvexShape::distance

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

◆ intersection()

vector3_t hpp::constraints::ConvexShapeData::intersection ( 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 world frame.

◆ isInside() [1/2]

bool hpp::constraints::ConvexShapeData::isInside ( const ConvexShape cs,
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.

Parameters
A,upoint and vector in world frame defining the line \( A + t*u \)

◆ isInside() [2/2]

bool hpp::constraints::ConvexShapeData::isInside ( const ConvexShape cs,
const vector3_t Ap 
) const
inline

Check whether the point As in world frame is inside the triangle.

◆ updateToCurrentTransform() [1/2]

void hpp::constraints::ConvexShapeData::updateToCurrentTransform ( const ConvexShape cs)
inline

Compute center and normal in world frame.

◆ updateToCurrentTransform() [2/2]

void hpp::constraints::ConvexShapeData::updateToCurrentTransform ( const ConvexShape cs,
const pinocchio::DeviceData d 
)
inline

Compute center and normal in world frame Thread safe version.

Member Data Documentation

◆ center_

vector3_t hpp::constraints::ConvexShapeData::center_

◆ normal_

vector3_t hpp::constraints::ConvexShapeData::normal_

◆ oMj_

Transform3f hpp::constraints::ConvexShapeData::oMj_

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