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. More...
 
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.

Definition at line 51 of file CSpace.h.

Member Function Documentation

◆ clone()

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

Implemented in SimoxCSpace, ScaledCSpace, and VoxelGridCSpace.

◆ initCollisionTest()

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

Initializes collision checking.

The default implementation is noop.

Definition at line 69 of file CSpace.h.

◆ 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 SimoxCSpace, and ScaledCSpace.

+ Here is the caller graph for this function:

◆ 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.

Definition at line 87 of file CSpace.h.

+ Here is the call graph for this function:

◆ 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.

Definition at line 105 of file CSpace.h.

+ Here is the call graph for this function:

◆ 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.

Definition at line 30 of file CSpace.cpp.

+ Here is the caller graph for this function:

◆ 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.

Definition at line 96 of file CSpace.h.

+ Here is the call graph for this function:

◆ usesInternalScaling()

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

Definition at line 113 of file CSpace.h.


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