31#include <RobotComponents/interface/components/MotionPlanning/CSpace/CSpace.h>
52 class CSpace :
virtual public CSpaceBase
60 const Ice::Current& = Ice::emptyCurrent)
const override;
76 bool isCollisionFree(const ::std::pair<const Ice::Float*, const Ice::Float*>& config,
77 const Ice::Current& = Ice::emptyCurrent)
override = 0;
82 CSpaceBasePtr
clone(
const Ice::Current& = Ice::emptyCurrent)
override = 0;
103 std::make_pair(config.data(), config.data() + config.size()));
113 return isCollisionFree(std::make_pair(config.data(), config.data() + config.size()));
135 CSpaceAdaptor(CSpaceBasePtr originalCSpace) : CSpaceAdaptorBase(originalCSpace)
139 throw std::invalid_argument{
"the original cspace can't be null"};
146 return originalCSpace;
CSpaceBasePtr getOriginalCSpace(const Ice::Current &=Ice::emptyCurrent) const override
CSpaceAdaptor(CSpaceBasePtr originalCSpace)
Implementation of the slice class CSpaceBase.
virtual bool isCollisionFree(const Ice::Float *first, const Ice::Float *last)
virtual bool isValidConfiguration(const VectorXf &config) const
bool isValidConfiguration(const ::std::pair< const Ice::Float *, const Ice::Float * > &config, const Ice::Current &=Ice::emptyCurrent) const override
CSpaceBasePtr clone(const Ice::Current &=Ice::emptyCurrent) override=0
bool isCollisionFree(const ::std::pair< const Ice::Float *, const Ice::Float * > &config, const Ice::Current &=Ice::emptyCurrent) override=0
virtual bool isCollisionFree(const VectorXf &config)
void initCollisionTest(const Ice::Current &=Ice::emptyCurrent) override
Initializes collision checking.
virtual bool usesInternalScaling()
This file offers overloads of toIce() and fromIce() functions for STL container types.
IceInternal::Handle< CSpace > CSpacePtr
An ice handle for a CSpace.
IceInternal::Handle< CSpaceAdaptor > CSpaceAdaptorPtr
An ice handle for a CSpace.