#include <ContactGeometryImpl.h>
Public Member Functions | |
ContactGeometryImpl (const std::string &type) | |
virtual | ~ContactGeometryImpl () |
const std::string & | getType () const |
int | getTypeIndex () const |
virtual ContactGeometryTypeId | getTypeId () const =0 |
virtual ContactGeometryImpl * | clone () const =0 |
virtual Vec3 | findNearestPoint (const Vec3 &position, bool &inside, UnitVec3 &normal) const =0 |
virtual bool | intersectsRay (const Vec3 &origin, const UnitVec3 &direction, Real &distance, UnitVec3 &normal) const =0 |
virtual void | getBoundingSphere (Vec3 ¢er, Real &radius) const =0 |
ContactGeometry * | getMyHandle () |
void | setMyHandle (ContactGeometry &h) |
void | clearMyHandle () |
Static Public Member Functions | |
static int | getIndexForType (std::string type) |
static ContactGeometryTypeId | createNewContactGeometryTypeId () |
Protected Attributes | |
ContactGeometry * | myHandle |
const std::string & | type |
int | typeIndex |
ContactGeometryImpl | ( | const std::string & | type | ) |
virtual ~ContactGeometryImpl | ( | ) | [inline, virtual] |
void clearMyHandle | ( | ) | [inline] |
virtual ContactGeometryImpl* clone | ( | ) | const [pure virtual] |
Implemented in HalfSpaceImpl, SphereImpl, and TriangleMeshImpl.
static ContactGeometryTypeId createNewContactGeometryTypeId | ( | ) | [inline, static] |
Referenced by HalfSpaceImpl::classTypeId(), SphereImpl::classTypeId(), and TriangleMeshImpl::classTypeId().
virtual Vec3 findNearestPoint | ( | const Vec3 & | position, | |
bool & | inside, | |||
UnitVec3 & | normal | |||
) | const [pure virtual] |
Implemented in HalfSpaceImpl, SphereImpl, and TriangleMeshImpl.
virtual void getBoundingSphere | ( | Vec3 & | center, | |
Real & | radius | |||
) | const [pure virtual] |
Implemented in HalfSpaceImpl, SphereImpl, and TriangleMeshImpl.
static int getIndexForType | ( | std::string | type | ) | [static] |
ContactGeometry* getMyHandle | ( | ) | [inline] |
const std::string& getType | ( | ) | const [inline] |
virtual ContactGeometryTypeId getTypeId | ( | ) | const [pure virtual] |
Implemented in HalfSpaceImpl, SphereImpl, and TriangleMeshImpl.
int getTypeIndex | ( | ) | const [inline] |
virtual bool intersectsRay | ( | const Vec3 & | origin, | |
const UnitVec3 & | direction, | |||
Real & | distance, | |||
UnitVec3 & | normal | |||
) | const [pure virtual] |
Implemented in HalfSpaceImpl, SphereImpl, and TriangleMeshImpl.
void setMyHandle | ( | ContactGeometry & | h | ) | [inline] |
ContactGeometry* myHandle [protected] |
const std::string& type [protected] |
Referenced by TriangleMeshImpl::Type(), SphereImpl::Type(), and HalfSpaceImpl::Type().
int typeIndex [protected] |