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
98 BulletManifoldPoint(const BulletManifoldPoint &other);
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__
bulletManifoldPoint.I
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
bullet_includes.h
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
bullet_utils.h
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
BulletManifoldPoint
Definition: bulletManifoldPoint.h:27
luse.h
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
pandabase.h
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.