Panda3D
 All Classes Functions Variables Enumerations
odeWorld.I
1 // Filename: odeWorld.I
2 // Created by: joswilso (27Dec06)
3 //
4 ////////////////////////////////////////////////////////////////////
5 //
6 // PANDA 3D SOFTWARE
7 // Copyright (c) Carnegie Mellon University. All rights reserved.
8 //
9 // All use of this software is subject to the terms of the revised BSD
10 // license. You should have received a copy of this license along
11 // with this source code in a file named "LICENSE."
12 //
13 ////////////////////////////////////////////////////////////////////
14 
15 ////////////////////////////////////////////////////////////////////
16 // Function: OdeWorld::is_empty
17 // Access: Published
18 // Description: Returns true if the ID is 0, meaning the OdeWorld
19 // does not point to a valid world. It is an error to
20 // call a method on an empty world.
21 // Note that an empty OdeWorld also evaluates to False.
22 ////////////////////////////////////////////////////////////////////
23 INLINE bool OdeWorld::
24 is_empty() const {
25  return (_id == 0);
26 }
27 
28 ////////////////////////////////////////////////////////////////////
29 // Function: OdeWorld::get_id
30 // Access: Published
31 // Description: Returns the underlying dWorldID.
32 ////////////////////////////////////////////////////////////////////
33 INLINE dWorldID OdeWorld::
34 get_id() const {
35  return _id;
36 }
37 
38 INLINE void OdeWorld::
39 set_gravity(dReal x, dReal y, dReal z) {
40  dWorldSetGravity(_id, x, y, z);
41 }
42 
43 INLINE void OdeWorld::
44 set_gravity(const LVecBase3f &vec) {
45  dWorldSetGravity(_id, vec[0], vec[1], vec[2]);
46 }
47 
48 INLINE LVecBase3f OdeWorld::
49 get_gravity() const {
50  dVector3 gravity;
51  dWorldGetGravity(_id, gravity);
52 
53  return LVecBase3f(gravity[0],gravity[1],gravity[2]);
54 }
55 
56 INLINE void OdeWorld::
57 set_erp(dReal erp) {
58  dWorldSetERP(_id, erp);
59 }
60 
61 INLINE dReal OdeWorld::
62 get_erp() const {
63  return dWorldGetERP(_id);
64 }
65 
66 INLINE void OdeWorld::
67 set_cfm(dReal cfm) {
68  dWorldSetCFM(_id, cfm);
69 }
70 
71 INLINE dReal OdeWorld::
72 get_cfm() const {
73  return dWorldGetCFM(_id);
74 }
75 
76 INLINE void OdeWorld::
77 step(dReal stepsize) {
78  dWorldStep(_id, stepsize);
79 }
80 
81 INLINE LVecBase3f OdeWorld::
82 impulse_to_force(dReal stepsize, \
83  dReal ix, dReal iy, dReal iz){
84  dVector3 force;
85  dWorldImpulseToForce(_id,
86  stepsize,
87  ix, iy, iz,
88  force);
89  return LVecBase3f(force[0], force[1], force[2]);
90 }
91 
92 INLINE LVecBase3f OdeWorld::
93 impulse_to_force(dReal stepsize, \
94  const LVecBase3f &impulse){
95  dVector3 force;
96  dWorldImpulseToForce(_id,
97  stepsize,
98  impulse[0], impulse[1], impulse[2],
99  force);
100  return LVecBase3f(force[0], force[1], force[2]);
101 }
102 
103 INLINE void OdeWorld::
104 quick_step(dReal stepsize) {
105  dWorldQuickStep(_id, stepsize);
106 }
107 
108 INLINE void OdeWorld::
109 set_quick_step_num_iterations(int num) {
110  dWorldSetQuickStepNumIterations(_id, num);
111 }
112 
113 INLINE int OdeWorld::
114 get_quick_step_num_iterations() const {
115  return dWorldGetQuickStepNumIterations(_id);
116 }
117 
118 INLINE void OdeWorld::
119 set_quick_step_w(dReal over_relaxation) {
120  dWorldSetQuickStepW(_id, over_relaxation);
121 }
122 
123 INLINE dReal OdeWorld::
124 get_quick_step_w() const {
125  return dWorldGetQuickStepW(_id);
126 }
127 
128 INLINE void OdeWorld::
129 set_contact_max_correcting_vel(dReal vel) {
130  dWorldSetContactMaxCorrectingVel(_id, vel);
131 }
132 
133 INLINE dReal OdeWorld::
134 get_contact_max_correcting_vel() const {
135  return dWorldGetContactMaxCorrectingVel(_id);
136 }
137 
138 INLINE void OdeWorld::
139 set_contact_surface_layer(dReal depth) {
140  dWorldSetContactSurfaceLayer(_id, depth);
141 }
142 
143 INLINE dReal OdeWorld::
144 get_contact_surface_layer() const {
145  return dWorldGetContactSurfaceLayer(_id);
146 }
147 
148 INLINE dReal OdeWorld::
149 get_auto_disable_linear_threshold() const {
150  return dWorldGetAutoDisableLinearThreshold(_id);
151 }
152 
153 INLINE void OdeWorld::
154 set_auto_disable_linear_threshold(dReal linear_threshold) {
155  dWorldSetAutoDisableLinearThreshold(_id, linear_threshold);
156 }
157 
158 INLINE dReal OdeWorld::
159 get_auto_disable_angular_threshold() const {
160  return dWorldGetAutoDisableAngularThreshold(_id);
161 }
162 
163 INLINE void OdeWorld::
164 set_auto_disable_angular_threshold(dReal angular_threshold) {
165  dWorldSetAutoDisableAngularThreshold(_id, angular_threshold);
166 }
167 
168 INLINE int OdeWorld::
169 get_auto_disable_steps() const {
170  return dWorldGetAutoDisableSteps(_id);
171 }
172 
173 INLINE void OdeWorld::
174 set_auto_disable_steps(int steps) {
175  dWorldSetAutoDisableSteps(_id, steps);
176 }
177 
178 INLINE dReal OdeWorld::
179 get_auto_disable_time() const {
180  return dWorldGetAutoDisableTime(_id);
181 }
182 
183 INLINE void OdeWorld::
184 set_auto_disable_time(dReal time) {
185  dWorldSetAutoDisableTime(_id, time);
186 }
187 
188 INLINE int OdeWorld::
189 get_auto_disable_flag() const {
190  return dWorldGetAutoDisableFlag(_id);
191 }
192 
193 INLINE void OdeWorld::
194 set_auto_disable_flag(int do_auto_disable) {
195  dWorldSetAutoDisableFlag(_id, do_auto_disable);
196 }
197 
198 INLINE int OdeWorld::
199 compare_to(const OdeWorld &other) const {
200  if (_id != other._id) {
201  return _id < other._id ? -1 : 1;
202  }
203  return 0;
204 }
This is the base class for all three-component vectors and points.
Definition: lvecBase3.h:105
bool is_empty() const
Returns true if the ID is 0, meaning the OdeWorld does not point to a valid world.
Definition: odeWorld.I:24
dWorldID get_id() const
Returns the underlying dWorldID.
Definition: odeWorld.I:34