hpp-affordance 4.14.0
Implementation to Extract Whole-Body Affordances for Mutli-Contact Planning.
|
Classes | |
class | hpp::affordance::Affordance |
class | hpp::affordance::SemanticsData |
class | hpp::affordance::OperationBase |
class | hpp::affordance::SupportOperation |
class | hpp::affordance::LeanOperation |
class | hpp::affordance::Support45Operation |
Functions | |
void | hpp::affordance::searchLinkedTriangles (std::vector< unsigned int > &listPotential, const OperationBasePtr_t &refOp, const std::vector< Triangle > &allTris, std::vector< unsigned int > &searchableTris, const unsigned int &refTriIdx, double &area) |
SemanticsDataPtr_t | hpp::affordance::affordanceAnalysis (FclConstCollisionObjectPtr_t colObj, const OperationBases_t &opVec) |
std::vector< CollisionObjects_t > | hpp::affordance::getAffordanceObjects (const SemanticsDataPtr_t &sData) |
std::vector< CollisionObjects_t > | hpp::affordance::getReducedAffordanceObjects (const SemanticsDataPtr_t &sData, std::vector< double > reduceSizes) |
SemanticsDataPtr_t hpp::affordance::affordanceAnalysis | ( | FclConstCollisionObjectPtr_t | colObj, |
const OperationBases_t & | opVec | ||
) |
Free function that extracts all affordances (of all types) from a given fcl::collisionObject.
colObj | reference to a fcl::collisionObject pointer the triangles of which will be searched for affordance objects. |
opVec | vector of operation objects that determine which requirements are set for which affordance type. The length of this vector corresponds to the amount of different affordance types considered. |
std::vector< CollisionObjects_t > hpp::affordance::getAffordanceObjects | ( | const SemanticsDataPtr_t & | sData | ) |
Free function that, given a semanticsData pointer, creates one fcl::collisionObject for every Affordance object.
sData | reference to all found Affordance objects. |
std::vector< CollisionObjects_t > hpp::affordance::getReducedAffordanceObjects | ( | const SemanticsDataPtr_t & | sData, |
std::vector< double > | reduceSizes | ||
) |
Free function that, given a semanticsData pointer, creates one fcl::collisionObject for every Affordance object. The object are reduced of
reduceSize | : each vertice are moved toward the center of this value |
sData | reference to all found Affordance objects. NOTE : if there is changes in affordance.impl:: Afford::createOperations (), you should be carefull to the index of the affordance type. The order of the values in reduceSizes correspond to the order of the affordance type in affordance.impl:: Afford::createOperations () FIXME : not working with plane that contain the z axis |
void hpp::affordance::searchLinkedTriangles | ( | std::vector< unsigned int > & | listPotential, |
const OperationBasePtr_t & | refOp, | ||
const std::vector< Triangle > & | allTris, | ||
std::vector< unsigned int > & | searchableTris, | ||
const unsigned int & | refTriIdx, | ||
double & | area | ||
) |
Free function that searches through a vector of mesh triangles and saves the triangle indices that form a potential affordance object. Given a reference triangle index that fullfils the affordance requirements of a given affordance type, the function recursively goes all triangles that ara linked to the the reference. Also saves the through total area of found potential affordance.
listPotential | reference to the vector of triangle indices that form one potential affordance object. At every recursive step maximum one triangle is added to the vector. |
refOp | operation that determines which affordance type the triangles will be tested for. |
allTris | all triangles of a given fcl::collisionObject mesh. This parameter is only used as to verify global (affordance type) and local (neighbouring triangles) requirements, and is not modified within the function. |
searchableTris | vector of triangle indices that should be tested in the search for more triangles. Whenever a triangle is found, it is deleted from the vector and will not be tested again. Similarly, if a triangle is tested once and does not fullfil the global requirement set by the affordance type, it is deleted and will not be tested again in subsequent recursive steps. |
refTriIdx | index corresponding to the last found triangle that fullfils both the local and the global requirement. It is then used as reference in the following recursive step. |
area | total area of all triangles that are part of the potential affordance object. Every time a triangle fulfilling all set requirements is found, its are is added to the previous total before going to the next recursive step. |