Pioneer
CollisionContact.h
Go to the documentation of this file.
1 // Copyright © 2008-2023 Pioneer Developers. See AUTHORS.txt for details
2 // Licensed under the terms of the GPL v3. See licenses/GPL-3.txt
3 
4 #ifndef _COLLISION_CONTACT_H
5 #define _COLLISION_CONTACT_H
6 
7 #include "vector3.h"
8 
10  // position and normal are in world (or rather, CollisionSpace) coordinates
13  double depth;
14  double distance; // distance travelled to hit point
15  double timestep;
16  int triIdx;
18  int geomFlag;
19 
20  // default ctor
22  depth(0),
23  distance(0),
24  timestep(0),
25  triIdx(-1),
26  userData1(nullptr),
27  userData2(nullptr),
28  geomFlag(0)
29  {}
30 
31  // ctor for collision with terrain
32  CollisionContact(const vector3d &position, const vector3d &normal, double deep, double dt, void *u1, void *u2) :
33  pos(position),
34  normal(normal),
35  depth(deep),
36  distance(0),
37  timestep(dt),
38  triIdx(-1),
39  userData1(u1),
40  userData2(u2),
41  geomFlag(0)
42  {}
43 };
44 
45 #endif /* _COLLISION_CONTACT_H */
Definition: CollisionContact.h:9
double timestep
Definition: CollisionContact.h:15
vector3d pos
Definition: CollisionContact.h:11
double distance
Definition: CollisionContact.h:14
double depth
Definition: CollisionContact.h:13
int geomFlag
Definition: CollisionContact.h:18
vector3d normal
Definition: CollisionContact.h:12
void * userData1
Definition: CollisionContact.h:17
CollisionContact()
Definition: CollisionContact.h:21
void * userData2
Definition: CollisionContact.h:17
CollisionContact(const vector3d &position, const vector3d &normal, double deep, double dt, void *u1, void *u2)
Definition: CollisionContact.h:32
int triIdx
Definition: CollisionContact.h:16