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