hpp-core 7.0.0
Implement basic classes for canonical path planning for kinematic chains.
Loading...
Searching...
No Matches
hpp::core::ObstacleUserVector< Derived > Class Template Reference

#include <hpp/core/obstacle-user.hh>

Inheritance diagram for hpp::core::ObstacleUserVector< Derived >:
Collaboration diagram for hpp::core::ObstacleUserVector< Derived >:

Public Member Functions

virtual ~ObstacleUserVector ()=default
void addObstacle (const CollisionObjectConstPtr_t &object)
void removeObstacleFromJoint (const JointPtr_t &joint, const CollisionObjectConstPtr_t &object)
void filterCollisionPairs (const RelativeMotion::matrix_type &relMotion)
void setSecurityMargins (const matrix_t &securityMatrix)
void setSecurityMarginBetweenBodies (const std::string &body_a, const std::string &body_b, const value_type &margin)
void clear ()
Public Member Functions inherited from hpp::core::ObstacleUserInterface
virtual ~ObstacleUserInterface ()=default

Protected Types

typedef Derived value_t
typedef std::vector< value_tvalues_t

Protected Member Functions

 ObstacleUserVector ()=default
 ObstacleUserVector (std::initializer_list< value_t > validations)

Protected Attributes

values_t validations_

Detailed Description

template<typename Derived>
class hpp::core::ObstacleUserVector< Derived >

Vector of validation class instances.

Template Parameters
Derivedmust be a shared point to some validation class. For instance ConfigValidationPtr_t or PathValidationPtr_t .

This class implements the abstract interface defined by ObstacleUserInterface and stores a vector of path or config validation class instances. Methods addObstacle , removeObstacleFromJoint, and filterCollisionPairs iteratively dynamic cast each instance into Obstacle user interface and calls the derived implementation in case of success.

Member Typedef Documentation

◆ value_t

template<typename Derived>
typedef Derived hpp::core::ObstacleUserVector< Derived >::value_t
protected

◆ values_t

template<typename Derived>
typedef std::vector<value_t> hpp::core::ObstacleUserVector< Derived >::values_t
protected

Constructor & Destructor Documentation

◆ ~ObstacleUserVector()

template<typename Derived>
virtual hpp::core::ObstacleUserVector< Derived >::~ObstacleUserVector()
virtualdefault

◆ ObstacleUserVector() [1/2]

template<typename Derived>
hpp::core::ObstacleUserVector< Derived >::ObstacleUserVector()
protecteddefault

◆ ObstacleUserVector() [2/2]

template<typename Derived>
hpp::core::ObstacleUserVector< Derived >::ObstacleUserVector(std::initializer_list< value_t >validations)
inlineprotected

Member Function Documentation

◆ addObstacle()

template<typename Derived>
void hpp::core::ObstacleUserVector< Derived >::addObstacle(const CollisionObjectConstPtr_t &object)
inlinevirtual

Add obstacle to each element

Dynamic cast into ObstacleUserInterface each element of validations_ and call method addObstacle of element.

Implements hpp::core::ObstacleUserInterface.

◆ clear()

template<typename Derived>
void hpp::core::ObstacleUserVector< Derived >::clear()
inline

◆ filterCollisionPairs()

template<typename Derived>
void hpp::core::ObstacleUserVector< Derived >::filterCollisionPairs(const RelativeMotion::matrix_type &relMotion)
inlinevirtual

Filter collision pairs to each element

Dynamic cast into ObstacleUserInterface each element of validations_ and call method filterCollisionPairs of element.

Implements hpp::core::ObstacleUserInterface.

◆ removeObstacleFromJoint()

template<typename Derived>
void hpp::core::ObstacleUserVector< Derived >::removeObstacleFromJoint(const JointPtr_t &joint,
const CollisionObjectConstPtr_t &object )
inlinevirtual

Remove obstacle from joint to each element

Dynamic cast into ObstacleUserInterface each element of validations_ and call method removeObstacleFromJoint of element.

Implements hpp::core::ObstacleUserInterface.

◆ setSecurityMarginBetweenBodies()

template<typename Derived>
void hpp::core::ObstacleUserVector< Derived >::setSecurityMarginBetweenBodies(const std::string &body_a,
const std::string &body_b,
const value_type &margin )
inlinevirtual

Set security margin for collision pair between the two bodies.

See also
coal::CollisionRequest::security_margin.

Implements hpp::core::ObstacleUserInterface.

◆ setSecurityMargins()

template<typename Derived>
void hpp::core::ObstacleUserVector< Derived >::setSecurityMargins(const matrix_t &securityMatrix)
inlinevirtual

Set different security margins for collision pairs

This function works joint-wise. If you need a finer control, use setSecurityMarginBetweenBodies

This method enables users to choose different security margins for each pair of robot joint or each pair robot joint - obstacle.

See also
coal::CollisionRequest::security_margin.

Implements hpp::core::ObstacleUserInterface.

Member Data Documentation

◆ validations_

template<typename Derived>
values_t hpp::core::ObstacleUserVector< Derived >::validations_
protected

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