boost::shared_ptr<Collider> Collider::GetCollider(long geomID) { if (geomID == 0) { return boost::shared_ptr<Collider>(); } Collider* collPtr = mColliderImp->GetColliderPointer(geomID); if (collPtr == 0) { // we cannot use the logserver here cerr << "ERROR: (Collider) no Collider found for GeomID " << geomID << "\n"; return boost::shared_ptr<Collider>(); } boost::shared_ptr<Collider> collider = static_pointer_cast<Collider> (collPtr->GetSelf().lock()); if (collider.get() == 0) { // we cannot use the logserver here cerr << "ERROR: (Collider) got no boost::shared_ptr for GeomID " << geomID << "\n"; } return collider; }