32 INLINE
void OdeWorld::
33 set_gravity(dReal x, dReal y, dReal z) {
34 dWorldSetGravity(_id, x, y, z);
37 INLINE
void OdeWorld::
38 set_gravity(
const LVecBase3f &vec) {
39 dWorldSetGravity(_id, vec[0], vec[1], vec[2]);
42 INLINE LVecBase3f OdeWorld::
45 dWorldGetGravity(_id, gravity);
47 return LVecBase3f(gravity[0],gravity[1],gravity[2]);
50 INLINE
void OdeWorld::
52 dWorldSetERP(_id, erp);
55 INLINE dReal OdeWorld::
57 return dWorldGetERP(_id);
60 INLINE
void OdeWorld::
62 dWorldSetCFM(_id, cfm);
65 INLINE dReal OdeWorld::
67 return dWorldGetCFM(_id);
70 INLINE
void OdeWorld::
71 step(dReal stepsize) {
72 dWorldStep(_id, stepsize);
75 INLINE LVecBase3f OdeWorld::
76 impulse_to_force(dReal stepsize, \
77 dReal ix, dReal iy, dReal iz){
79 dWorldImpulseToForce(_id,
83 return LVecBase3f(force[0], force[1], force[2]);
86 INLINE LVecBase3f OdeWorld::
87 impulse_to_force(dReal stepsize, \
88 const LVecBase3f &impulse){
90 dWorldImpulseToForce(_id,
92 impulse[0], impulse[1], impulse[2],
94 return LVecBase3f(force[0], force[1], force[2]);
97 INLINE
void OdeWorld::
98 quick_step(dReal stepsize) {
99 dWorldQuickStep(_id, stepsize);
102 INLINE
void OdeWorld::
103 set_quick_step_num_iterations(
int num) {
104 dWorldSetQuickStepNumIterations(_id, num);
107 INLINE
int OdeWorld::
108 get_quick_step_num_iterations()
const {
109 return dWorldGetQuickStepNumIterations(_id);
112 INLINE
void OdeWorld::
113 set_quick_step_w(dReal over_relaxation) {
114 dWorldSetQuickStepW(_id, over_relaxation);
117 INLINE dReal OdeWorld::
118 get_quick_step_w()
const {
119 return dWorldGetQuickStepW(_id);
122 INLINE
void OdeWorld::
123 set_contact_max_correcting_vel(dReal vel) {
124 dWorldSetContactMaxCorrectingVel(_id, vel);
127 INLINE dReal OdeWorld::
128 get_contact_max_correcting_vel()
const {
129 return dWorldGetContactMaxCorrectingVel(_id);
132 INLINE
void OdeWorld::
133 set_contact_surface_layer(dReal depth) {
134 dWorldSetContactSurfaceLayer(_id, depth);
137 INLINE dReal OdeWorld::
138 get_contact_surface_layer()
const {
139 return dWorldGetContactSurfaceLayer(_id);
142 INLINE dReal OdeWorld::
143 get_auto_disable_linear_threshold()
const {
144 return dWorldGetAutoDisableLinearThreshold(_id);
147 INLINE
void OdeWorld::
148 set_auto_disable_linear_threshold(dReal linear_threshold) {
149 dWorldSetAutoDisableLinearThreshold(_id, linear_threshold);
152 INLINE dReal OdeWorld::
153 get_auto_disable_angular_threshold()
const {
154 return dWorldGetAutoDisableAngularThreshold(_id);
157 INLINE
void OdeWorld::
158 set_auto_disable_angular_threshold(dReal angular_threshold) {
159 dWorldSetAutoDisableAngularThreshold(_id, angular_threshold);
162 INLINE
int OdeWorld::
163 get_auto_disable_steps()
const {
164 return dWorldGetAutoDisableSteps(_id);
167 INLINE
void OdeWorld::
168 set_auto_disable_steps(
int steps) {
169 dWorldSetAutoDisableSteps(_id, steps);
172 INLINE dReal OdeWorld::
173 get_auto_disable_time()
const {
174 return dWorldGetAutoDisableTime(_id);
177 INLINE
void OdeWorld::
178 set_auto_disable_time(dReal time) {
179 dWorldSetAutoDisableTime(_id, time);
182 INLINE
int OdeWorld::
183 get_auto_disable_flag()
const {
184 return dWorldGetAutoDisableFlag(_id);
187 INLINE
void OdeWorld::
188 set_auto_disable_flag(
int do_auto_disable) {
189 dWorldSetAutoDisableFlag(_id, do_auto_disable);
192 INLINE
int OdeWorld::
193 compare_to(
const OdeWorld &other)
const {
194 if (_id != other._id) {
195 return _id < other._id ? -1 : 1;
dWorldID get_id() const
Returns the underlying dWorldID.
bool is_empty() const
Returns true if the ID is 0, meaning the OdeWorld does not point to a valid world.