40 GeneratedGraspList result = grasps;
42 for (
const GraspSelectionCriterionInterfacePrx& criterion :
criteria)
44 result = criterion->filterGrasps(result);
52 const GraspSelectionCriterionInterfacePrx& criterion,
55 bool alreadyAdded = std::find_if(
criteria.cbegin(),
57 [&](
const GraspSelectionCriterionInterfacePrx& gsc) {
58 return gsc->getHash() == criterion->getHash();
63 ARMARX_ERROR <<
"criterion '" << criterion->ice_id() <<
"' already added";
71GraspSelectionCriterionInterfaceList
82 GraspingPlacementList result = placements;
83 for (
const GraspSelectionCriterionInterfacePrx& criterion :
criteria)
85 result = criterion->filterPlacements(result);
void onInitComponent() override
Pure virtual hook for the subclass.
GraspingPlacementList filterPlacements(const GraspingPlacementList &placements, const Ice::Current &=Ice::emptyCurrent) override
void onConnectComponent() override
Pure virtual hook for the subclass.
std::vector< GraspSelectionCriterionInterfacePrx > criteria
GraspSelectionCriterionInterfaceList getRegisteredGraspSelectionCriteria(const Ice::Current &) override
void registerAsGraspSelectionCriterion(const GraspSelectionCriterionInterfacePrx &criterion, const Ice::Current &=Ice::emptyCurrent) override
Checks if a criterion is already registered; if not, register it with the GraspSelectionManager.
GeneratedGraspList filterGrasps(const GeneratedGraspList &grasps, const Ice::Current &=Ice::emptyCurrent) override
Filters the grasps for each registered criterion.
#define ARMARX_INFO
The normal logging level.
#define ARMARX_ERROR
The logging level for unexpected behaviour, that must be fixed.
This file offers overloads of toIce() and fromIce() functions for STL container types.