23 #include <LinearMath/btConvexHullComputer.h>
25 #include <Eigen/Geometry>
40 inline std::pair<std::string, std::string>
getObjectPairKey(
const std::string& obj1,
const std::string& obj2)
42 return obj1 < obj2 ? std::make_pair(obj1, obj2) : std::make_pair(obj2, obj1);
50 inline bool isLinkActive(
const std::vector<std::string>& active,
const std::string&
name)
52 return active.empty() || (std::find(active.begin(), active.end(),
name) != active.end());
59 const std::pair<std::string, std::string>& key,
bool found);
73 int createConvexHull(AlignedVector<Eigen::Vector3d>& vertices, std::vector<int>& faces,
74 const AlignedVector<Eigen::Vector3d>&
input,
double shrink = -1,
double shrinkClamp = -1);
collision_detection::Contact * processResult(ContactTestData &cdata, collision_detection::Contact &contact, const std::pair< std::string, std::string > &key, bool found)
Stores a single contact result in the requested way.
std::pair< std::string, std::string > getObjectPairKey(const std::string &obj1, const std::string &obj2)
Get a key for two object to search the collision matrix.
bool isLinkActive(const std::vector< std::string > &active, const std::string &name)
This will check if a link is active provided a list. If the list is empty the link is considered acti...
int createConvexHull(AlignedVector< Eigen::Vector3d > &vertices, std::vector< int > &faces, const AlignedVector< Eigen::Vector3d > &input, double shrink=-1, double shrinkClamp=-1)
Create a convex hull from vertices using Bullet Convex Hull Computer.