hpp-affordance  4.13.0
Implementation to Extract Whole-Body Affordances for Mutli-Contact Planning.
hpp::affordance::OperationBase Class Referenceabstract

#include <hpp/affordance/operations.hh>

Inheritance diagram for hpp::affordance::OperationBase:

Public Member Functions

 OperationBase ()
 
 OperationBase (const double margin=0.3, const double nbTriMargin=0.3, const double minArea=0.05, const char *affordanceName="noAffordance")
 
virtual bool requirement (const fcl::Vec3f &normal)=0
 

Public Attributes

const fcl::Vec3f zWorld_
 
const double margin_
 The error margin within which the requirement function must be fullfilled. More...
 
const double neighbouringTriangleMargin_
 
const double minArea_
 
const char * affordance_
 Name of the affordance type for which te requirement exists. More...
 

Detailed Description

Base class for the data needed to determine affordances of different types. For each affordance type, a child class inheriting OperationBase will have to be created.

Constructor & Destructor Documentation

◆ OperationBase() [1/2]

hpp::affordance::OperationBase::OperationBase ( )
inline

If an OperationBase object is created without parameters, an affordance type called "noAffordance" is created as default, with certain default values for its member variables. This constructor should not be used..!

◆ OperationBase() [2/2]

hpp::affordance::OperationBase::OperationBase ( const double  margin = 0.3,
const double  nbTriMargin = 0.3,
const double  minArea = 0.05,
const char *  affordanceName = "noAffordance" 
)
inlineexplicit

Constructor that allows for user-defined parameters. Default values are given for parameters that are not defined by the user.

Parameters
marginMargin needed for the evaluation of the requirement function
nbTriMarginMargin between two triangles tested for a single affordance surface. If the angle between two triangles is greater than the provided margin, the triangles cannot be part of the same affordance surface.
minAreaMinimum area needed for the formation of an affordance object
affordanceNameThe name of the affordance type

Member Function Documentation

◆ requirement()

virtual bool hpp::affordance::OperationBase::requirement ( const fcl::Vec3f &  normal)
pure virtual

Fully virtual function that will determine whether or not a given triangle normal fullfils the requirement of a child class. If yes, the tested triangle forms part of a potential affordance.

Parameters
normalNormal vector of the tested triangle.

Implemented in hpp::affordance::LeanOperation, and hpp::affordance::SupportOperation.

Member Data Documentation

◆ affordance_

const char* hpp::affordance::OperationBase::affordance_

Name of the affordance type for which te requirement exists.

◆ margin_

const double hpp::affordance::OperationBase::margin_

The error margin within which the requirement function must be fullfilled.

◆ minArea_

const double hpp::affordance::OperationBase::minArea_

The minimum area required for an affordance object. The total area may comprise multiple triangles.

◆ neighbouringTriangleMargin_

const double hpp::affordance::OperationBase::neighbouringTriangleMargin_

The margin for the deviation of the normal of neighbouring triangles. Used to determine affordance objects comprising more than one triangle.

◆ zWorld_

const fcl::Vec3f hpp::affordance::OperationBase::zWorld_

The orientation of the world z axis. Needed to find potential affordance objects.


The documentation for this class was generated from the following file: