45 INLINE dBodyID get_id()
const;
47 INLINE
void set_auto_disable_linear_threshold(dReal linear_threshold);
48 INLINE
void set_auto_disable_angular_threshold(dReal angular_threshold);
49 INLINE
void set_auto_disable_steps(
int steps);
50 INLINE
void set_auto_disable_time(dReal time);
51 INLINE
void set_auto_disable_flag(
int do_auto_disable);
52 INLINE
void set_auto_disable_defaults();
53 INLINE
void set_data(
void *data);
54 EXTENSION(
void set_data(PyObject *data));
56 INLINE
void set_position(dReal x, dReal y, dReal z);
57 INLINE
void set_position(
const LVecBase3f &pos);
58 INLINE
void set_rotation(
const LMatrix3f &r);
59 INLINE
void set_quaternion(
const LQuaternionf &q);
60 INLINE
void set_linear_vel(dReal x, dReal y, dReal z);
61 INLINE
void set_linear_vel(
const LVecBase3f &vel);
62 INLINE
void set_angular_vel(dReal x, dReal y, dReal z);
63 INLINE
void set_angular_vel(
const LVecBase3f &vel);
64 INLINE
void set_mass(
OdeMass &mass);
67 INLINE dReal get_auto_disable_linear_threshold()
const;
68 INLINE dReal get_auto_disable_angular_threshold()
const;
69 INLINE
int get_auto_disable_steps()
const;
70 INLINE dReal get_auto_disable_time()
const;
71 INLINE
int get_auto_disable_flag()
const;
73 INLINE
void *get_data()
const;
75 EXTENSION(PyObject *get_data()
const);
77 INLINE LVecBase3f get_position()
const;
78 INLINE LMatrix3f get_rotation()
const;
79 INLINE LVecBase4f get_quaternion()
const;
80 INLINE LVecBase3f get_linear_vel()
const;
81 INLINE LVecBase3f get_angular_vel()
const;
82 INLINE
OdeMass get_mass()
const;
84 INLINE
void add_force(dReal fx, dReal fy, dReal fz);
85 INLINE
void add_force(
const LVecBase3f &f);
86 INLINE
void add_torque(dReal fx, dReal fy, dReal fz);
87 INLINE
void add_torque(
const LVecBase3f &f);
88 INLINE
void add_rel_force(dReal fx, dReal fy, dReal fz);
89 INLINE
void add_rel_force(
const LVecBase3f &f);
90 INLINE
void add_rel_torque(dReal fx, dReal fy, dReal fz);
91 INLINE
void add_rel_torque(
const LVecBase3f &f);
92 INLINE
void add_force_at_pos(dReal fx, dReal fy, dReal fz,
93 dReal px, dReal py, dReal pz);
94 INLINE
void add_force_at_pos(
const LVecBase3f &f,
95 const LVecBase3f &pos);
96 INLINE
void add_force_at_rel_pos(dReal fx, dReal fy, dReal fz,
97 dReal px, dReal py, dReal pz);
98 INLINE
void add_force_at_rel_pos(
const LVecBase3f &f,
99 const LVecBase3f &pos);
100 INLINE
void add_rel_force_at_pos(dReal fx, dReal fy, dReal fz,
101 dReal px, dReal py, dReal pz);
102 INLINE
void add_rel_force_at_pos(
const LVecBase3f &f,
103 const LVecBase3f &pos);
104 INLINE
void add_rel_force_at_rel_pos(dReal fx, dReal fy, dReal fz,
105 dReal px, dReal py, dReal pz);
106 INLINE
void add_rel_force_at_rel_pos(
const LVecBase3f &f,
107 const LVecBase3f &pos);
108 INLINE
void set_force(dReal x, dReal y, dReal z);
109 INLINE
void set_force(
const LVecBase3f &f);
110 INLINE
void set_torque(dReal x, dReal y, dReal z);
111 INLINE
void set_torque(
const LVecBase3f &f);
113 INLINE LPoint3f get_rel_point_pos(dReal px, dReal py, dReal pz)
const;
114 INLINE LPoint3f get_rel_point_pos(
const LVecBase3f &pos)
const;
115 INLINE LPoint3f get_rel_point_vel(dReal px, dReal py, dReal pz)
const;
116 INLINE LPoint3f get_rel_point_vel(
const LVecBase3f &pos)
const;
117 INLINE LPoint3f get_point_vel(dReal px, dReal py, dReal pz)
const;
118 INLINE LPoint3f get_point_vel(
const LVecBase3f &pos)
const;
119 INLINE LPoint3f get_pos_rel_point(dReal px, dReal py, dReal pz)
const;
120 INLINE LPoint3f get_pos_rel_point(
const LVecBase3f &pos)
const;
121 INLINE LVecBase3f vector_to_world(dReal px, dReal py, dReal pz)
const;
122 INLINE LVecBase3f vector_to_world(
const LVecBase3f &pos)
const;
123 INLINE LVecBase3f vector_from_world(dReal px, dReal py, dReal pz)
const;
124 INLINE LVecBase3f vector_from_world(
const LVecBase3f &pos)
const;
126 INLINE
void set_finite_rotation_mode(
int mode);
127 INLINE
void set_finite_rotation_axis(dReal x, dReal y, dReal z);
128 INLINE
void set_finite_rotation_axis(
const LVecBase3f &axis);
129 INLINE
int get_finite_rotation_mode()
const;
130 INLINE LVecBase3f get_finite_rotation_axis()
const;
132 INLINE
int get_num_joints()
const;
133 OdeJoint get_joint(
int index)
const;
134 MAKE_SEQ(get_joints, get_num_joints, get_joint);
135 EXTENSION(INLINE PyObject *get_converted_joint(
int i)
const);
136 MAKE_SEQ_PROPERTY(joints, get_num_joints, get_converted_joint);
138 INLINE
void enable();
139 INLINE
void disable();
140 INLINE
int is_enabled()
const;
141 INLINE
void set_gravity_mode(
int mode);
142 INLINE
int get_gravity_mode()
const;
144 virtual void write(std::ostream &out = std::cout,
unsigned int indent=0)
const;
145 operator bool ()
const;
152 typedef void (*DestroyCallback)(
OdeBody &body);
153 DestroyCallback _destroy_callback =
nullptr;
162 TypedObject::get_class_type());
165 return get_class_type();
A class used to hold information about a collision that has occurred.
bool is_empty() const
Returns true if the entry holds no contacts.
TypeHandle is the identifier used to differentiate C++ class types.
This is an abstract class that all classes which use TypeHandle, and also provide virtual functions t...
static void init_type()
This function is declared non-inline to work around a compiler bug in g++ 2.96.
An STL function object class, this is intended to be used on any ordered collection of class objects ...
std::ostream & indent(std::ostream &out, int indent_level)
A handy function for doing text formatting.
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.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
void register_type(TypeHandle &type_handle, const std::string &name)
This inline function is just a convenient way to call TypeRegistry::register_type(),...
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.