GteIntrCapsule3Capsule3.h
Go to the documentation of this file.
1 // David Eberly, Geometric Tools, Redmond WA 98052
2 // Copyright (c) 1998-2017
3 // Distributed under the Boost Software License, Version 1.0.
4 // http://www.boost.org/LICENSE_1_0.txt
5 // http://www.geometrictools.com/License/Boost/LICENSE_1_0.txt
6 // File Version: 3.0.0 (2016/06/19)
7 
8 #pragma once
9 
11 #include <Mathematics/GteCapsule.h>
12 #include <Mathematics/GteTIQuery.h>
13 
14 namespace gte
15 {
16 
17 template <typename Real>
18 class TIQuery<Real, Capsule3<Real>, Capsule3<Real>>
19 {
20 public:
21  struct Result
22  {
23  bool intersect;
24  };
25 
26  Result operator()(Capsule3<Real> const& capsule0,
27  Capsule3<Real> const& capsule1);
28 };
29 
30 
31 template <typename Real>
34  Capsule3<Real> const& capsule0, Capsule3<Real> const& capsule1)
35 {
36  Result result;
38  auto ssResult = ssQuery(capsule0.segment, capsule1.segment);
39  Real rSum = capsule0.radius + capsule1.radius;
40  result.intersect = (ssResult.distance <= rSum);
41  return result;
42 }
43 
44 
45 }
Result operator()(Type0 const &primitive0, Type1 const &primitive1)
GLuint64EXT * result
Definition: glext.h:10003


geometric_tools_engine
Author(s): Yijiang Huang
autogenerated on Thu Jul 18 2019 04:00:00