19#ifndef HPP_AFFORDANCE_AFFORDANCE_EXTRACTION_HH
20#define HPP_AFFORDANCE_AFFORDANCE_EXTRACTION_HH
45 a = (tri.
p1 - tri.
p2).norm();
46 b = (tri.
p2 - tri.
p3).norm();
47 c = (tri.
p3 - tri.
p1).norm();
48 double s = 0.5 * (a + b + c);
49 area = sqrt(s * (s - a) * (s - b) * (s - c));
156 const std::vector<Triangle>& allTris,
157 std::vector<unsigned int>& searchableTris,
158 const unsigned int& refTriIdx,
double& area);
Definition: affordance-extraction.hh:76
FclConstCollisionObjectPtr_t colObj_
Definition: affordance-extraction.hh:93
std::vector< unsigned int > indices_
Definition: affordance-extraction.hh:90
Affordance()
Definition: affordance-extraction.hh:78
Affordance(const std::vector< unsigned int > &idxVec, FclConstCollisionObjectPtr_t colObj)
Definition: affordance-extraction.hh:85
Definition: affordance-extraction.hh:99
std::vector< std::vector< AffordancePtr_t > > affordances_
Definition: affordance-extraction.hh:106
SemanticsData()
Definition: affordance-extraction.hh:101
void 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)
std::vector< CollisionObjects_t > getAffordanceObjects(const SemanticsDataPtr_t &sData)
SemanticsDataPtr_t affordanceAnalysis(FclConstCollisionObjectPtr_t colObj, const OperationBases_t &opVec)
std::vector< CollisionObjects_t > getReducedAffordanceObjects(const SemanticsDataPtr_t &sData, std::vector< double > reduceSizes)
const fcl::CollisionObject * FclConstCollisionObjectPtr_t
Definition: fwd.hh:54
std::vector< OperationBasePtr_t > OperationBases_t
Definition: fwd.hh:48
fcl::shared_ptr< const BVHModelOB > BVHModelOBConst_Ptr_t
Definition: fwd.hh:41
fcl::shared_ptr< OperationBase > OperationBasePtr_t
Definition: fwd.hh:47
fcl::shared_ptr< SemanticsData > SemanticsDataPtr_t
Definition: fwd.hh:49
BVHModelOBConst_Ptr_t GetModel(FclConstCollisionObjectPtr_t object)
Definition: affordance-extraction.hh:25
Definition: affordance-extraction.hh:30
fcl::Vec3f p1
Definition: affordance-extraction.hh:31
fcl::Vec3f p3
Definition: affordance-extraction.hh:31
fcl::Vec3f p2
Definition: affordance-extraction.hh:31
Helper class to save triangle information.
Definition: affordance-extraction.hh:34
void TriangleNormal(TrianglePoints &tri)
Definition: affordance-extraction.hh:54
double area
The area of a triangle.
Definition: affordance-extraction.hh:61
Triangle()
Definition: affordance-extraction.hh:35
fcl::Vec3f normal
The normal vector of a triangle.
Definition: affordance-extraction.hh:63
Triangle(const TrianglePoints &inPoints)
Constructor that takes in a TrianglePoints object.
Definition: affordance-extraction.hh:37
TrianglePoints points
The global position of a triangles vertices.
Definition: affordance-extraction.hh:59
void TriangleArea(TrianglePoints &tri)
Definition: affordance-extraction.hh:43