47 template <
typename S_>
66 kIOS_Sphere spheres[5];
119 static constexpr
S ratio() {
return 1.5; }
121 static S cosA() {
return std::sqrt(3.0) / 2.0; }
128 template <
typename S,
typename Derived>
131 const kIOS<S>& bv,
const Eigen::MatrixBase<Derived>& t);
136 template <
typename S,
typename DerivedA,
typename DerivedB>
139 const Eigen::MatrixBase<DerivedA>& R0,
140 const Eigen::MatrixBase<DerivedB>& T0,
146 template <
typename S>
155 template <
typename S,
typename DerivedA,
typename DerivedB>
158 const Eigen::MatrixBase<DerivedA>& R0,
159 const Eigen::MatrixBase<DerivedB>& T0,
167 template <
typename S>
template TMatrix3< double > operator+(const Matrix3< double > &m1, const TMatrix3< double > &m2)
Eigen::Transform< S, 3, Eigen::Isometry > Transform3
AABB< S > translate(const AABB< S > &aabb, const Eigen::MatrixBase< Derived > &t)
translate the center of AABB by t
bool overlap(const Eigen::MatrixBase< DerivedA > &R0, const Eigen::MatrixBase< DerivedB > &T0, const kIOS< S > &b1, const kIOS< S > &b2)
Check collision between two kIOSs, b1 is in configuration (R0, T0) and b2 is in identity.
S distance(const Eigen::MatrixBase< DerivedA > &R0, const Eigen::MatrixBase< DerivedB > &T0, const kIOS< S > &b1, const kIOS< S > &b2, Vector3< S > *P, Vector3< S > *Q)
Approximate distance between two kIOS bounding volumes.
Eigen::Matrix< S, 3, 1 > Vector3
OBB< S > obb
OBB related with kIOS.
static constexpr S ratio()
unsigned int num_spheres
The number of spheres, no larger than 5.
A class describing the kIOS collision structure, which is a set of spheres.
static constexpr S invSinA()