/*static*/ bool PointContact::isInstance(const Contact& contact) { return (dynamic_cast<const PointContactImpl*>(&contact.getImpl()) != 0); }
/*static*/ bool TriangleMeshContact::isInstance(const Contact& contact) { return (dynamic_cast<const TriangleMeshContactImpl*>(&contact.getImpl()) != 0); }
bool EllipticalPointContact::isInstance(const Contact& contact) { return (dynamic_cast<const EllipticalPointContactImpl*> (&contact.getImpl()) != 0); }
bool BrickHalfSpaceContact::isInstance(const Contact& contact) { return (dynamic_cast<const BrickHalfSpaceContactImpl*> (&contact.getImpl()) != 0); }
bool CircularPointContact::isInstance(const Contact& contact) { return (dynamic_cast<const CircularPointContactImpl*>(&contact.getImpl()) != 0); }