19 TypeHandle BulletSphericalConstraint::_type_handle;
24 BulletSphericalConstraint::
26 const LPoint3 &pivot_a) {
28 btRigidBody *ptr_a = btRigidBody::upcast(node_a->get_object());
29 btVector3 pos_a = LVecBase3_to_btVector3(pivot_a);
31 _constraint =
new btPoint2PointConstraint(*ptr_a, pos_a);
37 BulletSphericalConstraint::
40 const LPoint3 &pivot_a,
41 const LPoint3 &pivot_b) {
43 btRigidBody *ptr_a = btRigidBody::upcast(node_a->get_object());
44 btVector3 pos_a = LVecBase3_to_btVector3(pivot_a);
46 btRigidBody *ptr_b = btRigidBody::upcast(node_b->get_object());
47 btVector3 pos_b = LVecBase3_to_btVector3(pivot_b);
49 _constraint =
new btPoint2PointConstraint(*ptr_a, *ptr_b, pos_a, pos_b);
55 btTypedConstraint *BulletSphericalConstraint::
64 void BulletSphericalConstraint::
65 set_pivot_a(
const LPoint3 &pivot_a) {
68 nassertv(!pivot_a.is_nan());
69 _constraint->setPivotA(LVecBase3_to_btVector3(pivot_a));
75 void BulletSphericalConstraint::
76 set_pivot_b(
const LPoint3 &pivot_b) {
79 nassertv(!pivot_b.is_nan());
80 _constraint->setPivotB(LVecBase3_to_btVector3(pivot_b));
86 LPoint3 BulletSphericalConstraint::
87 get_pivot_in_a()
const {
90 return btVector3_to_LPoint3(_constraint->getPivotInA());
96 LPoint3 BulletSphericalConstraint::
97 get_pivot_in_b()
const {
100 return btVector3_to_LPoint3(_constraint->getPivotInB());
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
Similar to MutexHolder, but for a light mutex.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
TypeHandle is the identifier used to differentiate C++ class types.