-
Notifications
You must be signed in to change notification settings - Fork 1
/
PXCollision.h
45 lines (37 loc) · 1.06 KB
/
PXCollision.h
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
#ifndef PXCollisionINCLUDE
#define PXCollisionINCLUDE
#include <Media/PXType.h>
#include <Math/PXVector.h>
typedef enum PXCollisionBodyType_
{
PXCollisionBodyTypeInvalid,
PXCollisionBodyTypePoint, // 0D
PXCollisionBodyTypeLine, // 1D
PXCollisionBodyTypePlane, // 2D
PXCollisionBodyTypeBody // 3D
}
PXCollisionBodyType;
typedef enum PXCollisionEffectType_
{
PXCollisionEffectTypeInvalid,
PXCollisionEffectTypeGravity, // Pulling or pushing fields
PXCollisionEffectTypeSolid, // Used for walls and floor
PXCollisionEffectTypeTrigger // Event triggers for interactions
}
PXCollisionEffectType;
typedef struct PXCollisionElement_
{
PXCollisionBodyType BodyType;
PXCollisionEffectType EffectType;
}
PXCollisionElement;
typedef struct PXCollisionGravityField_
{
float PullForce;
PXVector3F PullDirection;
PXVector3F IgnoreAxis;
}
PXCollisionGravityField;
PXPublic PXBool PXAPI PXCollisionAABB(float ax, float ay, float bx, float by, float cx, float cy, float dx, float dy);
//PXPublic PXBool PXAPI PXCollisionCheck(PXModel);
#endif