1 #ifndef __SSV_TREE_COLLIDER_H__
2 #define __SSV_TREE_COLLIDER_H__
4 #include "Opcode/Opcode.h"
11 class SSVTreeCollider :
public AABBTreeCollider {
33 bool Distance(BVTCache& cache,
float& minD, Point &point0, Point&point1,
34 const Matrix4x4* world0=
null,
const Matrix4x4* world1=
null);
44 bool Collide(BVTCache& cache,
double tolerance,
45 const Matrix4x4* world0=
null,
const Matrix4x4* world1=
null);
54 float SsvSsvDist(
const AABBCollisionNode* b0,
const AABBCollisionNode *b1);
64 float PrimDist(udword id0, udword id1, Point& point0, Point& point1);
67 void Distance(
const AABBCollisionTree* tree0,
68 const AABBCollisionTree* tree1,
69 const Matrix4x4* world0,
const Matrix4x4* world1,
70 Pair* cache,
float& minD, Point &point0, Point&point1);
72 void _Distance(
const AABBCollisionNode* b0,
const AABBCollisionNode* b1,
73 float& minD, Point& point0, Point& point1);
74 bool Collide(
const AABBCollisionTree* tree0,
75 const AABBCollisionTree* tree1,
76 const Matrix4x4* world0,
const Matrix4x4* world1,
77 Pair* cache,
double tolerance);
79 bool _Collide(
const AABBCollisionNode* b0,
const AABBCollisionNode* b1,
89 float PssPssDist(
float r0,
const Point& center0,
float r1,
const Point& center1);
100 float PssLssDist(
float r0,
const Point& center0,
101 float r1,
const Point& point0,
const Point& point1);
112 float LssPssDist(
float r0,
const Point& point0,
const Point& point1,
113 float r1,
const Point& center0);
125 float LssLssDist(
float r0,
const Point& point0,
const Point& point1,
126 float r1,
const Point& point2,
const Point& point3);