38 #ifndef FCL_NARROWPHASE_DETAIL_MINKOWSKIDIFF_H 39 #define FCL_NARROWPHASE_DETAIL_MINKOWSKIDIFF_H 41 #include "fcl/math/detail/project.h" 42 #include "fcl/geometry/shape/shape_base.h" 51 template <
typename S,
typename Derived>
52 Vector3<S> getSupport(
53 const ShapeBase<S>* shape,
54 const Eigen::MatrixBase<Derived>& dir);
72 Vector3<S>
support0(
const Vector3<S>& d)
const;
75 Vector3<S>
support1(
const Vector3<S>& d)
const;
78 Vector3<S>
support(
const Vector3<S>& d)
const;
81 Vector3<S>
support(
const Vector3<S>& d,
size_t index)
const;
84 Vector3<S>
support0(
const Vector3<S>& d,
const Vector3<S>& v)
const;
87 Vector3<S>
support(
const Vector3<S>& d,
const Vector3<S>& v)
const;
90 Vector3<S>
support(
const Vector3<S>& d,
const Vector3<S>& v,
size_t index)
const;
92 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
101 #include "fcl/narrowphase/detail/convexity_based_algorithm/minkowski_diff-inl.h" Main namespace.
Definition: broadphase_bruteforce-inl.h:45
Minkowski difference class of two shapes.
Definition: minkowski_diff.h:58
const ShapeBase< S > * shapes[2]
points to two shapes
Definition: minkowski_diff.h:61
Vector3< S > support(const Vector3< S > &d) const
support function for the pair of shapes
Definition: minkowski_diff-inl.h:231
Vector3< S > support0(const Vector3< S > &d) const
support function for shape0
Definition: minkowski_diff-inl.h:217
Transform3< S > toshape0
transform from shape1 to shape0
Definition: minkowski_diff.h:67
Matrix3< S > toshape1
rotation from shape0 to shape1
Definition: minkowski_diff.h:64
Vector3< S > support1(const Vector3< S > &d) const
support function for shape1
Definition: minkowski_diff-inl.h:224