Go to the documentation of this file.
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>
virtual void unscalePath(Path &path) const
const VariantTypeId Float
bool isCollisionFree(const ::std::pair< const Ice::Float *, const Ice::Float * > &config, const Ice::Current &=Ice::emptyCurrent) override=0
virtual void scalePath(Path &path) const
Ice::FloatSeq getScalingFactors(const ::Ice::Current &=Ice::emptyCurrent) override
void initCollisionTest(const Ice::Current &=Ice::emptyCurrent) override
Initializes the collision check.
void unscaleToBuffer(const Ice::Float *cfg, VectorXf &buffer) const
Unscales the given configuration to a buffer.
CSpaceBasePtr clone(const Ice::Current &=Ice::emptyCurrent) override
FloatRangeSeq getDimensionsBounds(const Ice::Current &=Ice::emptyCurrent) const override
Takes an other cspace and scales its' dimensions.
#define ARMARX_CHECK_EXPRESSION(expression)
This macro evaluates the expression and if it turns out to be false it will throw an ExpressionExcept...
ScaledCSpace()=default
Default ctor.
virtual void scaleConfig(VectorXf &config) const
std::filesystem::path Path
bool isCollisionFree(const ::std::pair< const Ice::Float *, const Ice::Float * > &cfg, const Ice::Current &=Ice::emptyCurrent) override
virtual void unscaleConfig(VectorXf &config) const
Ice::Long getDimensionality(const Ice::Current &=Ice::emptyCurrent) const override
This file offers overloads of toIce() and fromIce() functions for STL container types.