se2ez
se2ez::CollisionManager Class Referenceabstract

An abstract class that all collision managers must implement. More...

#include <collision.h>

Inheritance diagram for se2ez::CollisionManager:
[legend]

Classes

struct  SignedDistance
 A class that contains all information about the signed distance of a frame to another. More...
 

Public Types

using SignedDistanceMap = tf::EigenMap< std::string, SignedDistance >
 A map of frame names to their signed distances. More...
 

Public Member Functions

 CollisionManager ()
 Constructor. More...
 
virtual bool collide (StatePtr &state)=0
 Check if a state is in collision. More...
 
virtual bool collide (StatePtr &state, std::set< std::string > &frames)=0
 Check if a state is in collision. More...
 
virtual SignedDistance distance (StatePtr &state)=0
 Computes the signed distance of a scene to collision. More...
 
virtual SignedDistance distance (StatePtr &state, SignedDistanceMap &frames)=0
 Computes the signed distance of a scene to collision. More...
 
virtual void compile ()=0
 Compiles internal data structures for collision checking. Needs to be called if the robot is updated. More...
 
virtual void setACM (const ACMPtr &acm)
 Sets a new ACM to use. More...
 
virtual ACMPtr getACM ()
 Gets the current ACM. More...
 

Protected Attributes

ACMPtr acm_ {nullptr}
 ACM for collision manager. More...
 

Detailed Description

An abstract class that all collision managers must implement.

Definition at line 70 of file collision.h.

Member Typedef Documentation

◆ SignedDistanceMap

A map of frame names to their signed distances.

Definition at line 92 of file collision.h.

Constructor & Destructor Documentation

◆ CollisionManager()

CollisionManager::CollisionManager ( )

Constructor.

Definition at line 51 of file collision.cpp.

Member Function Documentation

◆ collide() [1/2]

virtual bool se2ez::CollisionManager::collide ( StatePtr state)
pure virtual

Check if a state is in collision.

Parameters
[in]stateState to check for collisions using an allowed collision map.
Returns
Returns true if state is in collision, false otherwise.

Implemented in se2ez::Box2DCollisionManager.

◆ collide() [2/2]

virtual bool se2ez::CollisionManager::collide ( StatePtr state,
std::set< std::string > &  frames 
)
pure virtual

Check if a state is in collision.

Parameters
[in]stateState to check for collisions using an allowed collision map.
[out]framesWhat frames are in collision.
Returns
Returns true if state is in collision, false otherwise.

Implemented in se2ez::Box2DCollisionManager.

◆ compile()

virtual void se2ez::CollisionManager::compile ( )
pure virtual

Compiles internal data structures for collision checking. Needs to be called if the robot is updated.

Implemented in se2ez::Box2DCollisionManager.

◆ distance() [1/2]

virtual SignedDistance se2ez::CollisionManager::distance ( StatePtr state)
pure virtual

Computes the signed distance of a scene to collision.

Parameters
[in]stateState to computed signed distance for.
Returns
Returns signed distance.

Implemented in se2ez::Box2DCollisionManager.

◆ distance() [2/2]

virtual SignedDistance se2ez::CollisionManager::distance ( StatePtr state,
SignedDistanceMap frames 
)
pure virtual

Computes the signed distance of a scene to collision.

Parameters
[in]stateState to computed signed distance for.
[out]framesDistance of frame to collision.
Returns
Returns signed distance.

Implemented in se2ez::Box2DCollisionManager.

◆ getACM()

ACMPtr CollisionManager::getACM ( )
virtual

Gets the current ACM.

Returns
The ACM.

Definition at line 60 of file collision.cpp.

◆ setACM()

void CollisionManager::setACM ( const ACMPtr acm)
virtual

Sets a new ACM to use.

Parameters
[in]acmNew ACM to use.

Definition at line 55 of file collision.cpp.

Member Data Documentation

◆ acm_

ACMPtr se2ez::CollisionManager::acm_ {nullptr}
protected

ACM for collision manager.

Definition at line 140 of file collision.h.


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