28#include <RobotComponents/interface/components/MotionPlanning/CSpace/ScaledCSpace.h>
54 ScaledCSpace(
const CSpaceBasePtr& cspace,
const Ice::FloatSeq& scale);
62 return scalingFactors;
83 bool isCollisionFree(const ::std::pair<const Ice::Float*, const Ice::Float*>& cfg,
84 const Ice::Current& = Ice::emptyCurrent)
override;
93 scalingFactors.size());
94 unscaled.resize(scalingFactors.size());
95 originalCSpace->initCollisionTest();
101 CSpaceBasePtr
clone(
const Ice::Current& = Ice::emptyCurrent)
override;
114 return scalingFactors.size();
118 template <
class IceBaseClass,
class DerivedClass>
CSpaceAdaptor(CSpaceBasePtr originalCSpace)
bool isCollisionFree(const ::std::pair< const Ice::Float *, const Ice::Float * > &config, const Ice::Current &=Ice::emptyCurrent) override=0
Takes an other cspace and scales its' dimensions.
virtual void unscaleConfig(VectorXf &config) const
CSpaceBasePtr clone(const Ice::Current &=Ice::emptyCurrent) override
FloatRangeSeq getDimensionsBounds(const Ice::Current &=Ice::emptyCurrent) const override
Ice::Long getDimensionality(const Ice::Current &=Ice::emptyCurrent) const override
virtual void unscalePath(Path &path) const
ScaledCSpace(const CSpaceBasePtr &cspace, const Ice::FloatSeq &scale)
ctor.
ScaledCSpace()=default
Default ctor.
void unscaleToBuffer(const Ice::Float *cfg, VectorXf &buffer) const
Unscales the given configuration to a buffer.
virtual void scalePath(Path &path) const
virtual void scaleConfig(VectorXf &config) const
Ice::FloatSeq getScalingFactors(const ::Ice::Current &=Ice::emptyCurrent) override
void initCollisionTest(const Ice::Current &=Ice::emptyCurrent) override
Initializes the collision check.
bool isCollisionFree(const ::std::pair< const Ice::Float *, const Ice::Float * > &cfg, const Ice::Current &=Ice::emptyCurrent) override
#define ARMARX_CHECK_EXPRESSION(expression)
This macro evaluates the expression and if it turns out to be false it will throw an ExpressionExcept...
This file offers overloads of toIce() and fromIce() functions for STL container types.
IceInternal::Handle< ScaledCSpace > ScaledCSpacePtr
An ice handle to a ScaledCSpace.