Actin®  Version 5.3.0
Software for Robotics Simulation and Control
ecCapsuleDistanceAlgorithm.h
Go to the documentation of this file.
1 #ifndef ecCapsuleDistanceAlgorithm_H_
2 #define ecCapsuleDistanceAlgorithm_H_
3 //------------------------------------------------------------------------------
4 // Copyright (c) 2003-2013 Energid Technologies. All rights reserved.
5 //
9 //
10 //------------------------------------------------------------------------------
11 #include <actinCore/actinCore_config.h> // Required to be first header.
12 #include "ecDistanceAlgorithm.h"
13 
15 {
16 public:
17 
19  static const std::vector<EcU32U32Pair>& supportedShapePairs
20  (
21  );
22 
24  static const std::vector<EcU32U32Pair>& supportedPenetrationShapePairs
25  (
26  );
27 
29  virtual EcBoolean distance
30  (
31  const EcShape& shape1,
32  const EcShape& shape2,
33  const EcCoordinateSystemTransformation& shape2InShape1,
34  EcReal& computedDistance
35  ) const EC_OVERRIDE;
36 
38  virtual EcBoolean distance
39  (
40  const EcShape& shape1,
41  const EcShape& shape2,
42  const EcCoordinateSystemTransformation& shape2InShape1,
43  EcVector& witnessPoint1,
44  EcVector& witnessPoint2,
45  EcReal& computedDistance,
46  EcVector* pProximityVector=0
47  ) const EC_OVERRIDE;
48 
51  (
52  const EcShape& shape1,
53  const EcShape& shape2,
54  const EcCoordinateSystemTransformation& shape2InShape1,
55  EcVector& supportPoint1,
56  EcVector& supportPoint2,
57  EcReal& penetrationDistance,
58  EcVector* pProximityVector=0
59  ) const EC_OVERRIDE;
60 };
61 
62 #endif // ecCapsuleDistanceAlgorithm_H_
virtual EcBoolean penetrationDistanceAndSupportPoints(const EcShape &shape1, const EcShape &shape2, const EcCoordinateSystemTransformation &shape2InShape1, EcVector &supportPoint1, EcVector &supportPoint2, EcReal &penetrationDistance, EcVector *pProximityVector=0) const =0
compute the penetration distance and support points between two shapes
Virtual base class for distance algorithm.
A rotation and a translation to describe a new frame.
#define EC_OVERRIDE
Add wrapper around c++11 override keyword.
Definition: ecMacros.h:36
class for distance algorithm involving capsule
#define EC_ACTINCORE_SHAPEPROXIMITY_DECL
shape proximity directory
virtual EcBoolean distance(const EcShape &shape1, const EcShape &shape2, const EcCoordinateSystemTransformation &shape2InShape1, EcReal &computedDistance) const
compute the distance between two shapes
Configuration header for the foundation hierarchy.
Virtual base class for all shapes.
Definition: ecShape.h:43
bool EcBoolean
Boolean (0 or 1)
Definition: ecTypes.h:21
EcF64 EcReal
Alias for 64-bit float.
Definition: ecTypes.h:30
A three-element vector.
Definition: ecVector.h:20
Created by Energid Technologies www.energid.com
Copyright © 2016 Energid. All trademarks mentioned in this document are property of their respective owners.