CSpace Class Referenceabstract

Implementation of the slice class CSpaceBase. More...

#include <RobotComponents/components/MotionPlanning/CSpace/CSpace.h>

+ Inheritance diagram for CSpace:

Public Member Functions

CSpaceBasePtr clone (const Ice::Current &=Ice::emptyCurrent) override=0
 
void initCollisionTest (const Ice::Current &=Ice::emptyCurrent) override
 Initializes collision checking.
 
bool isCollisionFree (const ::std::pair< const Ice::Float *, const Ice::Float * > &config, const Ice::Current &=Ice::emptyCurrent) override=0
 
virtual bool isCollisionFree (const Ice::Float *first, const Ice::Float *last)
 
virtual bool isCollisionFree (const VectorXf &config)
 
bool isValidConfiguration (const ::std::pair< const Ice::Float *, const Ice::Float * > &config, const Ice::Current &=Ice::emptyCurrent) const override
 
virtual bool isValidConfiguration (const VectorXf &config) const
 
virtual bool usesInternalScaling ()
 

Detailed Description

Implementation of the slice class CSpaceBase.

This is the base class for all planning cspaces.

The cspace holds all problem specific data of the planning problem. These are:

  • The cspace's bounds.
  • information required for collision checking.

The class provides a function to check whether a configuration is collision free.

Member Function Documentation

◆ clone()

CSpaceBasePtr clone ( const Ice::Current & = Ice::emptyCurrent)
overridepure virtual
Returns
A clone of this object.

Implemented in ScaledCSpace, SimoxCSpace, and VoxelGridCSpace.

◆ initCollisionTest()

void initCollisionTest ( const Ice::Current & = Ice::emptyCurrent)
inlineoverride

Initializes collision checking.

The default implementation is noop.

◆ isCollisionFree() [1/3]

bool isCollisionFree ( const ::std::pair< const Ice::Float *, const Ice::Float * > & config,
const Ice::Current & = Ice::emptyCurrent )
overridepure virtual
Parameters
configThe config to check.
Returns
Whether the given configuration is collision free.

Implemented in ScaledCSpace, and SimoxCSpace.

◆ isCollisionFree() [2/3]

virtual bool isCollisionFree ( const Ice::Float * first,
const Ice::Float * last )
inlinevirtual
Parameters
firstThe configuration's first element.
lastThe configuration's last element.
Returns
Whether the given configuration [first,last) is collision free.

Reimplemented in ScaledCSpace, and SimoxCSpace.

◆ isCollisionFree() [3/3]

virtual bool isCollisionFree ( const VectorXf & config)
inlinevirtual
Parameters
configThe config to check. (as armarx::VectorXf)
Returns
Whether the given configuration is collision free.

Reimplemented in ScaledCSpace, and SimoxCSpace.

◆ isValidConfiguration() [1/2]

bool isValidConfiguration ( const ::std::pair< const Ice::Float *, const Ice::Float * > & config,
const Ice::Current & = Ice::emptyCurrent ) const
override
Parameters
configThe config to check.
Returns
Whether the given configuration is inside the cspace's bounds.

◆ isValidConfiguration() [2/2]

virtual bool isValidConfiguration ( const VectorXf & config) const
inlinevirtual
Parameters
configThe config to check. (as armarx::VectorXf)
Returns
Whether the given configuration is inside the cspace's bounds.

◆ usesInternalScaling()

virtual bool usesInternalScaling ( )
inlinevirtual
Returns
Whether the cspaces scales some axis internally during planning

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