Panda3D
bulletManifoldPoint.h
Go to the documentation of this file.
1 /**
2  * PANDA 3D SOFTWARE
3  * Copyright (c) Carnegie Mellon University. All rights reserved.
4  *
5  * All use of this software is subject to the terms of the revised BSD
6  * license. You should have received a copy of this license along
7  * with this source code in a file named "LICENSE."
8  *
9  * @file bulletManifoldPoint.h
10  * @author enn0x
11  * @date 2010-03-07
12  */
13 
14 #ifndef __BULLET_MANIFOLD_POINT_H__
15 #define __BULLET_MANIFOLD_POINT_H__
16 
17 #include "pandabase.h"
18 
19 #include "bullet_includes.h"
20 #include "bullet_utils.h"
21 
22 #include "luse.h"
23 
24 /**
25  *
26  */
27 class EXPCL_PANDABULLET BulletManifoldPoint {
28 
29 PUBLISHED:
30  INLINE ~BulletManifoldPoint();
31 
32  int get_life_time() const;
33  PN_stdfloat get_distance() const;
34  PN_stdfloat get_applied_impulse() const;
35  LPoint3 get_position_world_on_a() const;
36  LPoint3 get_position_world_on_b() const;
37  LVector3 get_normal_world_on_b() const;
38  LPoint3 get_local_point_a() const;
39  LPoint3 get_local_point_b() const;
40 
41  int get_part_id0() const;
42  int get_part_id1() const;
43  int get_index0() const;
44  int get_index1() const;
45 
46  void set_lateral_friction_initialized(bool value);
47  void set_lateral_friction_dir1(const LVecBase3 &dir);
48  void set_lateral_friction_dir2(const LVecBase3 &dir);
49  void set_contact_motion1(PN_stdfloat value);
50  void set_contact_motion2(PN_stdfloat value);
51  void set_combined_friction(PN_stdfloat value);
52  void set_combined_restitution(PN_stdfloat value);
53  void set_applied_impulse(PN_stdfloat value);
54  void set_applied_impulse_lateral1(PN_stdfloat value);
55  void set_applied_impulse_lateral2(PN_stdfloat value);
56  void set_contact_cfm1(PN_stdfloat value);
57  void set_contact_cfm2(PN_stdfloat value);
58 
59  bool get_lateral_friction_initialized() const;
60  LVector3 get_lateral_friction_dir1() const;
61  LVector3 get_lateral_friction_dir2() const;
62  PN_stdfloat get_contact_motion1() const;
63  PN_stdfloat get_contact_motion2() const;
64  PN_stdfloat get_combined_friction() const;
65  PN_stdfloat get_combined_restitution() const;
66  PN_stdfloat get_applied_impulse_lateral1() const;
67  PN_stdfloat get_applied_impulse_lateral2() const;
68  PN_stdfloat get_contact_cfm1() const;
69  PN_stdfloat get_contact_cfm2() const;
70 
71  MAKE_PROPERTY(life_time, get_life_time);
72  MAKE_PROPERTY(distance, get_distance);
73  MAKE_PROPERTY(applied_impulse, get_applied_impulse, set_applied_impulse);
74  MAKE_PROPERTY(position_world_on_a, get_position_world_on_a);
75  MAKE_PROPERTY(position_world_on_b, get_position_world_on_b);
76  MAKE_PROPERTY(normal_world_on_b, get_normal_world_on_b);
77  MAKE_PROPERTY(local_point_a, get_local_point_a);
78  MAKE_PROPERTY(local_point_b, get_local_point_b);
79  MAKE_PROPERTY(part_id0, get_part_id0);
80  MAKE_PROPERTY(part_id1, get_part_id1);
81  MAKE_PROPERTY(index0, get_index0);
82  MAKE_PROPERTY(index1, get_index1);
83  MAKE_PROPERTY(lateral_friction_initialized, get_lateral_friction_initialized, set_lateral_friction_initialized);
84  MAKE_PROPERTY(lateral_friction_dir1, get_lateral_friction_dir1, set_lateral_friction_dir1);
85  MAKE_PROPERTY(lateral_friction_dir2, get_lateral_friction_dir2, set_lateral_friction_dir2);
86  MAKE_PROPERTY(contact_motion1, get_contact_motion1, set_contact_motion1);
87  MAKE_PROPERTY(contact_motion2, get_contact_motion2, set_contact_motion2);
88  MAKE_PROPERTY(combined_friction, get_combined_friction, set_combined_friction);
89  MAKE_PROPERTY(combined_restitution, get_combined_restitution, set_combined_restitution);
90  MAKE_PROPERTY(applied_impulse_lateral1, get_applied_impulse_lateral1, set_applied_impulse_lateral1);
91  MAKE_PROPERTY(applied_impulse_lateral2, get_applied_impulse_lateral2, set_applied_impulse_lateral2);
92  MAKE_PROPERTY(contact_cfm1, get_contact_cfm1, set_contact_cfm1);
93  MAKE_PROPERTY(contact_cfm2, get_contact_cfm2, set_contact_cfm2);
94 
95 public:
96  BulletManifoldPoint(btManifoldPoint &pt);
97 
99  BulletManifoldPoint& operator=(const BulletManifoldPoint& other);
100 
101 private:
102  btManifoldPoint &_pt;
103 };
104 
105 #include "bulletManifoldPoint.I"
106 
107 #endif // __BULLET_MANIFOLD_POINT_H__
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.