SSVTreeCollider.h
Go to the documentation of this file.
1 #ifndef __SSV_TREE_COLLIDER_H__
2 #define __SSV_TREE_COLLIDER_H__
3 
4 #include "config.h"
5 #include "Opcode/Opcode.h"
6 
7 using namespace Opcode;
8 
13 public:
18 
23 
34  bool Distance(BVTCache& cache, float& minD, Point &point0, Point&point1,
35  const Matrix4x4* world0=null, const Matrix4x4* world1=null);
36 
45  bool Collide(BVTCache& cache, double tolerance,
46  const Matrix4x4* world0=null, const Matrix4x4* world1=null);
47 
48 protected:
55  float SsvSsvDist(const AABBCollisionNode* b0, const AABBCollisionNode *b1);
56 
65  float PrimDist(udword id0, udword id1, Point& point0, Point& point1);
66 
67 private:
68  void Distance(const AABBCollisionTree* tree0,
69  const AABBCollisionTree* tree1,
70  const Matrix4x4* world0, const Matrix4x4* world1,
71  Pair* cache, float& minD, Point &point0, Point&point1);
72 
73  void _Distance(const AABBCollisionNode* b0, const AABBCollisionNode* b1,
74  float& minD, Point& point0, Point& point1);
75  bool Collide(const AABBCollisionTree* tree0,
76  const AABBCollisionTree* tree1,
77  const Matrix4x4* world0, const Matrix4x4* world1,
78  Pair* cache, double tolerance);
79 
80  bool _Collide(const AABBCollisionNode* b0, const AABBCollisionNode* b1,
81  double tolerance);
90  float PssPssDist(float r0, const Point& center0, float r1, const Point& center1);
91 
101  float PssLssDist(float r0, const Point& center0,
102  float r1, const Point& point0, const Point& point1);
103 
113  float LssPssDist(float r0, const Point& point0, const Point& point1,
114  float r1, const Point& center0);
115 
126  float LssLssDist(float r0, const Point& point0, const Point& point1,
127  float r1, const Point& point2, const Point& point3);
128 };
129 
130 #endif
Pair
A generic couple structure.
Definition: IcePairs.h:16
AABBCollisionTree
Definition: OPC_OptimizedTree.h:192
Matrix4x4
Definition: IceMatrix4x4.h:21
Opcode.h
SSVTreeCollider::~SSVTreeCollider
~SSVTreeCollider()
destructor
Definition: SSVTreeCollider.h:22
config.h
udword
unsigned int udword
sizeof(udword) must be 4
Definition: IceTypes.h:65
AABBCollisionNode
Definition: OPC_OptimizedTree.h:76
HRP_COLLISION_EXPORT
#define HRP_COLLISION_EXPORT
Definition: hrplib/hrpCollision/config.h:26
SSVTreeCollider
collision detector based on SSV(Sphere Swept Volume)
Definition: SSVTreeCollider.h:12
AABBTreeCollider
Definition: OPC_TreeCollider.h:70
BVTCache
Definition: OPC_TreeCollider.h:30
Opcode
Definition: CollisionPairInserterBase.h:18


openhrp3
Author(s): AIST, General Robotix Inc., Nakamura Lab of Dept. of Mechano Informatics at University of Tokyo
autogenerated on Wed Sep 7 2022 02:51:04