blob: 8e0e446a549013eebbe8e3e837e7cd1d720e578c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
#ifndef CONVEX_TRIANGLE_CALLBACK_H
#define CONVEX_TRIANGLE_CALLBACK_H
#include "TriangleCallback.h"
class ConvexShape;
class PersistentManifold;
#include "SimdTransform.h"
///ConvexTriangleCallback processes the narrowphase convex-triangle collision detection
class ConvexTriangleCallback: public TriangleCallback
{
SimdVector3 m_aabbMin;
SimdVector3 m_aabbMax ;
SimdTransform m_triangleMeshTransform;
SimdTransform m_convexTransform;
// bool m_useContinuous;
float m_collisionMarginTriangle;
public:
int m_triangleCount;
ConvexShape* m_convexShape;
PersistentManifold* m_manifoldPtr;
ConvexTriangleCallback(PersistentManifold* manifold,ConvexShape* convexShape,const SimdTransform&convexTransform,const SimdTransform& triangleMeshTransform);
void Update(float collisionMarginTriangle);
virtual ~ConvexTriangleCallback();
virtual void ProcessTriangle(SimdVector3* triangle);
void ClearCache();
inline const SimdVector3& GetAabbMin() const
{
return m_aabbMin;
}
inline const SimdVector3& GetAabbMax() const
{
return m_aabbMax;
}
};
#endif //CONVEX_TRIANGLE_CALLBACK_H
|