33set_gravity(dReal x, dReal y, dReal z) {
34 dWorldSetGravity(_id, x, y, z);
38set_gravity(
const LVecBase3f &vec) {
39 dWorldSetGravity(_id, vec[0], vec[1], vec[2]);
42INLINE LVecBase3f OdeWorld::
45 dWorldGetGravity(_id, gravity);
47 return LVecBase3f(gravity[0],gravity[1],gravity[2]);
52 dWorldSetERP(_id, erp);
55INLINE dReal OdeWorld::
57 return dWorldGetERP(_id);
62 dWorldSetCFM(_id, cfm);
65INLINE dReal OdeWorld::
67 return dWorldGetCFM(_id);
72 dWorldStep(_id, stepsize);
75INLINE LVecBase3f OdeWorld::
76impulse_to_force(dReal stepsize, \
77 dReal ix, dReal iy, dReal iz){
79 dWorldImpulseToForce(_id,
83 return LVecBase3f(force[0], force[1], force[2]);
86INLINE LVecBase3f OdeWorld::
87impulse_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]);
98quick_step(dReal stepsize) {
99 dWorldQuickStep(_id, stepsize);
102INLINE
void OdeWorld::
103set_quick_step_num_iterations(
int num) {
104 dWorldSetQuickStepNumIterations(_id, num);
108get_quick_step_num_iterations()
const {
109 return dWorldGetQuickStepNumIterations(_id);
112INLINE
void OdeWorld::
113set_quick_step_w(dReal over_relaxation) {
114 dWorldSetQuickStepW(_id, over_relaxation);
117INLINE dReal OdeWorld::
118get_quick_step_w()
const {
119 return dWorldGetQuickStepW(_id);
122INLINE
void OdeWorld::
123set_contact_max_correcting_vel(dReal vel) {
124 dWorldSetContactMaxCorrectingVel(_id, vel);
127INLINE dReal OdeWorld::
128get_contact_max_correcting_vel()
const {
129 return dWorldGetContactMaxCorrectingVel(_id);
132INLINE
void OdeWorld::
133set_contact_surface_layer(dReal depth) {
134 dWorldSetContactSurfaceLayer(_id, depth);
137INLINE dReal OdeWorld::
138get_contact_surface_layer()
const {
139 return dWorldGetContactSurfaceLayer(_id);
142INLINE dReal OdeWorld::
143get_auto_disable_linear_threshold()
const {
144 return dWorldGetAutoDisableLinearThreshold(_id);
147INLINE
void OdeWorld::
148set_auto_disable_linear_threshold(dReal linear_threshold) {
149 dWorldSetAutoDisableLinearThreshold(_id, linear_threshold);
152INLINE dReal OdeWorld::
153get_auto_disable_angular_threshold()
const {
154 return dWorldGetAutoDisableAngularThreshold(_id);
157INLINE
void OdeWorld::
158set_auto_disable_angular_threshold(dReal angular_threshold) {
159 dWorldSetAutoDisableAngularThreshold(_id, angular_threshold);
163get_auto_disable_steps()
const {
164 return dWorldGetAutoDisableSteps(_id);
167INLINE
void OdeWorld::
168set_auto_disable_steps(
int steps) {
169 dWorldSetAutoDisableSteps(_id, steps);
172INLINE dReal OdeWorld::
173get_auto_disable_time()
const {
174 return dWorldGetAutoDisableTime(_id);
177INLINE
void OdeWorld::
178set_auto_disable_time(dReal time) {
179 dWorldSetAutoDisableTime(_id, time);
183get_auto_disable_flag()
const {
184 return dWorldGetAutoDisableFlag(_id);
187INLINE
void OdeWorld::
188set_auto_disable_flag(
int do_auto_disable) {
189 dWorldSetAutoDisableFlag(_id, do_auto_disable);
193compare_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.