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)
 Compute center and normal in world frame Thread safe version. More...
 
template<bool WorldFrame>
void _recompute (const ConvexShape &cs)
 
vector3_t intersection (const vector3_t &A, const vector3_t &u) const
 Intersection with a line defined by a point and a vector. More...
 
bool isInside (const ConvexShape &cs, const vector3_t &A, const vector3_t &u) const
 Check whether the intersection of the line defined by A and u onto the plane containing the triangle is inside the triangle. More...
 
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
 See ConvexShape::distance. More...
 

Public Attributes

vector3_t normal_
 
vector3_t center_
 
Transform3f oMj_
 

Member Function Documentation

template<bool WorldFrame>
void hpp::constraints::ConvexShapeData::_recompute ( const ConvexShape cs)
inline
Transform3f hpp::constraints::ConvexShapeData::alignedPositionInJoint ( const ConvexShape cs,
vector3_t  yaxis 
) const
inline
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.

References hpp::constraints::ConvexShape::distanceLocal(), and hpp::constraints::ConvexShape::joint_.

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.

References hpp::constraints::linePlaneIntersection().

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

References hpp::constraints::ConvexShape::isInsideLocal(), and hpp::constraints::ConvexShape::joint_.

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

Compute center and normal in world frame.

References hpp::constraints::ConvexShape::joint_.

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

Compute center and normal in world frame Thread safe version.

References hpp::constraints::ConvexShape::joint_.

Member Data Documentation

vector3_t hpp::constraints::ConvexShapeData::center_
vector3_t hpp::constraints::ConvexShapeData::normal_
Transform3f hpp::constraints::ConvexShapeData::oMj_