DART  6.10.1
dart::collision Namespace Reference

Namespaces

 detail
 
 fcl
 

Classes

class  BulletCollisionDetector
 
class  BulletCollisionGroup
 
class  BulletCollisionObject
 
struct  BulletCollisionShape
 
class  CollisionDetector
 
class  CollisionFilter
 
class  CompositeCollisionFilter
 
class  BodyNodeCollisionFilter
 
class  CollisionGroup
 
class  CollisionObject
 
struct  CollisionOption
 
class  CollisionResult
 
struct  Contact
 Contact information. More...
 
struct  dContactGeom
 
class  DARTCollisionDetector
 
class  DARTCollisionGroup
 
class  DARTCollisionObject
 
struct  DistanceFilter
 
struct  BodyNodeDistanceFilter
 
struct  DistanceOption
 
struct  DistanceResult
 
class  FCLCollisionDetector
 
class  FCLCollisionGroup
 
class  FCLCollisionObject
 
class  FCLTypes
 
class  OdeCollisionDetector
 OdeCollisionDetector wraps the ODE collision detector. More...
 
class  OdeCollisionGroup
 
class  OdeCollisionObject
 
class  OdeTypes
 
struct  RaycastOption
 
struct  RayHit
 
struct  RaycastResult
 

Typedefs

typedef double dVector3[4]
 
typedef double dVector4[4]
 
typedef double dMatrix3[12]
 
typedef double dMatrix4[16]
 
typedef double dMatrix6[48]
 
typedef double dQuaternion[4]
 
using CollisionDetectorPtr = std::shared_ptr< CollisionDetector >
 
using ConstCollisionDetectorPtr = std::shared_ptr< const CollisionDetector >
 
using WeakCollisionDetectorPtr = std::weak_ptr< CollisionDetector >
 
using WeakConstCollisionDetectorPtr = std::weak_ptr< const CollisionDetector >
 
using FCLCollisionDetectorPtr = std::shared_ptr< FCLCollisionDetector >
 
using ConstFCLCollisionDetectorPtr = std::shared_ptr< const FCLCollisionDetector >
 
using WeakFCLCollisionDetectorPtr = std::weak_ptr< FCLCollisionDetector >
 
using WeakConstFCLCollisionDetectorPtr = std::weak_ptr< const FCLCollisionDetector >
 
using DARTCollisionDetectorPtr = std::shared_ptr< DARTCollisionDetector >
 
using ConstDARTCollisionDetectorPtr = std::shared_ptr< const DARTCollisionDetector >
 
using WeakDARTCollisionDetectorPtr = std::weak_ptr< DARTCollisionDetector >
 
using WeakConstDARTCollisionDetectorPtr = std::weak_ptr< const DARTCollisionDetector >
 
using CollisionObjectPtr = std::shared_ptr< CollisionObject >
 
using ConstCollisionObjectPtr = std::shared_ptr< const CollisionObject >
 
using WeakCollisionObjectPtr = std::weak_ptr< CollisionObject >
 
using WeakConstCollisionObjectPtr = std::weak_ptr< const CollisionObject >
 
using CollisionGroupPtr = std::shared_ptr< CollisionGroup >
 
using ConstCollisionGroupPtr = std::shared_ptr< const CollisionGroup >
 
using WeakCollisionGroupPtr = std::weak_ptr< CollisionGroup >
 
using WeakConstCollisionGroupPtr = std::weak_ptr< const CollisionGroup >
 

Functions

static bool checkGroupValidity (BulletCollisionDetector *cd, CollisionGroup *group)
 
static bool isCollision (btCollisionWorld *world)
 
void filterOutCollisions (btCollisionWorld *world)
 
Eigen::Vector3d convertVector3 (const btVector3 &_vec)
 Convert Bullet vector3 type to Eigen vector3 type. More...
 
btVector3 convertVector3 (const Eigen::Vector3d &_vec)
 Convert Eigen vector3 type to Bullet vector3 type. More...
 
btMatrix3x3 convertMatrix3x3 (const Eigen::Matrix3d &_R)
 Convert Bullet matrix3x3 type to Eigen matrix3x3 type. More...
 
btTransform convertTransform (const Eigen::Isometry3d &_T)
 Convert Bullet transformation type to Eigen transformation type. More...
 
void convVector (const Eigen::Vector3d &p0, dVector3 &p1)
 
void convMatrix (const Eigen::Isometry3d &T0, dMatrix3 &R0)
 
double Inner (const double *a, const double *b)
 
double Inner14 (const double *a, const double *b)
 
double Inner41 (const double *a, const double *b)
 
double Inner44 (const double *a, const double *b)
 
void dMULTIPLY0_331 (double *A, const double *B, const double *C)
 
void dMULTIPLY1_331 (double *A, const double *B, const double *C)
 
void cullPoints (int n, double p[], int m, int i0, int iret[])
 
void dLineClosestApproach (const dVector3 pa, const dVector3 ua, const dVector3 pb, const dVector3 ub, double *alpha, double *beta)
 
int intersectRectQuad (double h[2], double p[8], double ret[16])
 
void dClosestLineBoxPoints (const dVector3 p1, const dVector3 p2, const dVector3 c, const dMatrix3 R, const dVector3 side, dVector3 lret, dVector3 bret)
 
int dBoxBox (CollisionObject *o1, CollisionObject *o2, const dVector3 p1, const dMatrix3 R1, const dVector3 side1, const dVector3 p2, const dMatrix3 R2, const dVector3 side2, CollisionResult &result)
 
int collideBoxBox (CollisionObject *o1, CollisionObject *o2, const Eigen::Vector3d &size0, const Eigen::Isometry3d &T0, const Eigen::Vector3d &size1, const Eigen::Isometry3d &T1, CollisionResult &result)
 
int collideBoxSphere (CollisionObject *o1, CollisionObject *o2, const Eigen::Vector3d &size0, const Eigen::Isometry3d &T0, const double &r1, const Eigen::Isometry3d &T1, CollisionResult &result)
 
int collideSphereBox (CollisionObject *o1, CollisionObject *o2, const double &r0, const Eigen::Isometry3d &T0, const Eigen::Vector3d &size1, const Eigen::Isometry3d &T1, CollisionResult &result)
 
int collideSphereSphere (CollisionObject *o1, CollisionObject *o2, const double &_r0, const Eigen::Isometry3d &c0, const double &_r1, const Eigen::Isometry3d &c1, CollisionResult &result)
 
int collideCylinderSphere (CollisionObject *o1, CollisionObject *o2, const double &cyl_rad, const double &half_height, const Eigen::Isometry3d &T0, const double &sphere_rad, const Eigen::Isometry3d &T1, CollisionResult &result)
 
int collideCylinderPlane (CollisionObject *o1, CollisionObject *o2, const double &cyl_rad, const double &half_height, const Eigen::Isometry3d &T0, const Eigen::Vector3d &plane_normal, const Eigen::Isometry3d &T1, CollisionResult &result)
 
int collide (CollisionObject *o1, CollisionObject *o2, CollisionResult &result)
 
static bool checkGroupValidity (DARTCollisionDetector *cd, CollisionGroup *group)
 
void warnUnsupportedShapeType (const dynamics::ShapeFrame *shapeFrame)
 
template<class BV >
::fcl::BVHModel< BV > * createMesh (float _scaleX, float _scaleY, float _scaleZ, const aiScene *_mesh, const dart::collision::fcl::Transform3 &_transform)
 
template<class BV >
::fcl::BVHModel< BV > * createEllipsoid (float _sizeX, float _sizeY, float _sizeZ, const dart::collision::fcl::Transform3 &_transform)
 
template<class BV >
::fcl::BVHModel< BV > * createCube (float _sizeX, float _sizeY, float _sizeZ, const dart::collision::fcl::Transform3 &_transform)
 
template<class BV >
::fcl::BVHModel< BV > * createCylinder (double _baseRadius, double _topRadius, double _height, int _slices, int _stacks, const dart::collision::fcl::Transform3 &_transform)
 
static bool checkGroupValidity (FCLCollisionDetector *cd, CollisionGroup *group)
 
static detail::OdeGeomcreateOdeGeom (OdeCollisionObject *collObj, const dynamics::ShapeFrame *shapeFrame)
 

Variables

static const int MAX_CYLBOX_CLIP_POINTS = 16
 
static const int nCYLINDER_AXIS = 2
 
static const int nCYLINDER_SEGMENT = 8
 

Typedef Documentation

◆ CollisionDetectorPtr

using dart::collision::CollisionDetectorPtr = typedef std::shared_ptr< CollisionDetector >

◆ CollisionGroupPtr

using dart::collision::CollisionGroupPtr = typedef std::shared_ptr< CollisionGroup >

◆ CollisionObjectPtr

using dart::collision::CollisionObjectPtr = typedef std::shared_ptr< CollisionObject >

◆ ConstCollisionDetectorPtr

using dart::collision::ConstCollisionDetectorPtr = typedef std::shared_ptr<const CollisionDetector >

◆ ConstCollisionGroupPtr

using dart::collision::ConstCollisionGroupPtr = typedef std::shared_ptr<const CollisionGroup >

◆ ConstCollisionObjectPtr

using dart::collision::ConstCollisionObjectPtr = typedef std::shared_ptr<const CollisionObject >

◆ ConstDARTCollisionDetectorPtr

◆ ConstFCLCollisionDetectorPtr

◆ DARTCollisionDetectorPtr

◆ dMatrix3

typedef double dart::collision::dMatrix3[12]

◆ dMatrix4

typedef double dart::collision::dMatrix4[16]

◆ dMatrix6

typedef double dart::collision::dMatrix6[48]

◆ dQuaternion

typedef double dart::collision::dQuaternion[4]

◆ dVector3

typedef double dart::collision::dVector3

◆ dVector4

typedef double dart::collision::dVector4[4]

◆ FCLCollisionDetectorPtr

◆ WeakCollisionDetectorPtr

◆ WeakCollisionGroupPtr

using dart::collision::WeakCollisionGroupPtr = typedef std::weak_ptr< CollisionGroup >

◆ WeakCollisionObjectPtr

using dart::collision::WeakCollisionObjectPtr = typedef std::weak_ptr< CollisionObject >

◆ WeakConstCollisionDetectorPtr

◆ WeakConstCollisionGroupPtr

using dart::collision::WeakConstCollisionGroupPtr = typedef std::weak_ptr<const CollisionGroup >

◆ WeakConstCollisionObjectPtr

using dart::collision::WeakConstCollisionObjectPtr = typedef std::weak_ptr<const CollisionObject >

◆ WeakConstDARTCollisionDetectorPtr

◆ WeakConstFCLCollisionDetectorPtr

◆ WeakDARTCollisionDetectorPtr

◆ WeakFCLCollisionDetectorPtr

Function Documentation

◆ checkGroupValidity() [1/3]

static bool dart::collision::checkGroupValidity ( BulletCollisionDetector cd,
CollisionGroup group 
)
static

◆ checkGroupValidity() [2/3]

static bool dart::collision::checkGroupValidity ( DARTCollisionDetector cd,
CollisionGroup group 
)
static

◆ checkGroupValidity() [3/3]

static bool dart::collision::checkGroupValidity ( FCLCollisionDetector cd,
CollisionGroup group 
)
static

◆ collide()

int dart::collision::collide ( CollisionObject o1,
CollisionObject o2,
CollisionResult result 
)

◆ collideBoxBox()

int dart::collision::collideBoxBox ( CollisionObject o1,
CollisionObject o2,
const Eigen::Vector3d &  size0,
const Eigen::Isometry3d &  T0,
const Eigen::Vector3d &  size1,
const Eigen::Isometry3d &  T1,
CollisionResult result 
)

◆ collideBoxSphere()

int dart::collision::collideBoxSphere ( CollisionObject o1,
CollisionObject o2,
const Eigen::Vector3d &  size0,
const Eigen::Isometry3d &  T0,
const double &  r1,
const Eigen::Isometry3d &  T1,
CollisionResult result 
)

◆ collideCylinderPlane()

int dart::collision::collideCylinderPlane ( CollisionObject o1,
CollisionObject o2,
const double &  cyl_rad,
const double &  half_height,
const Eigen::Isometry3d &  T0,
const Eigen::Vector3d &  plane_normal,
const Eigen::Isometry3d &  T1,
CollisionResult result 
)

◆ collideCylinderSphere()

int dart::collision::collideCylinderSphere ( CollisionObject o1,
CollisionObject o2,
const double &  cyl_rad,
const double &  half_height,
const Eigen::Isometry3d &  T0,
const double &  sphere_rad,
const Eigen::Isometry3d &  T1,
CollisionResult result 
)

◆ collideSphereBox()

int dart::collision::collideSphereBox ( CollisionObject o1,
CollisionObject o2,
const double &  r0,
const Eigen::Isometry3d &  T0,
const Eigen::Vector3d &  size1,
const Eigen::Isometry3d &  T1,
CollisionResult result 
)

◆ collideSphereSphere()

int dart::collision::collideSphereSphere ( CollisionObject o1,
CollisionObject o2,
const double &  _r0,
const Eigen::Isometry3d &  c0,
const double &  _r1,
const Eigen::Isometry3d &  c1,
CollisionResult result 
)

◆ convertMatrix3x3()

btMatrix3x3 dart::collision::convertMatrix3x3 ( const Eigen::Matrix3d &  _R)

Convert Bullet matrix3x3 type to Eigen matrix3x3 type.

◆ convertTransform()

btTransform dart::collision::convertTransform ( const Eigen::Isometry3d &  _T)

Convert Bullet transformation type to Eigen transformation type.

◆ convertVector3() [1/2]

Eigen::Vector3d dart::collision::convertVector3 ( const btVector3 &  _vec)

Convert Bullet vector3 type to Eigen vector3 type.

◆ convertVector3() [2/2]

btVector3 dart::collision::convertVector3 ( const Eigen::Vector3d &  _vec)

Convert Eigen vector3 type to Bullet vector3 type.

◆ convMatrix()

void dart::collision::convMatrix ( const Eigen::Isometry3d &  T0,
dMatrix3 R0 
)
inline

◆ convVector()

void dart::collision::convVector ( const Eigen::Vector3d &  p0,
dVector3 p1 
)
inline

◆ createCube()

template<class BV >
::fcl::BVHModel<BV>* dart::collision::createCube ( float  _sizeX,
float  _sizeY,
float  _sizeZ,
const dart::collision::fcl::Transform3 _transform 
)

◆ createCylinder()

template<class BV >
::fcl::BVHModel<BV>* dart::collision::createCylinder ( double  _baseRadius,
double  _topRadius,
double  _height,
int  _slices,
int  _stacks,
const dart::collision::fcl::Transform3 _transform 
)

◆ createEllipsoid()

template<class BV >
::fcl::BVHModel<BV>* dart::collision::createEllipsoid ( float  _sizeX,
float  _sizeY,
float  _sizeZ,
const dart::collision::fcl::Transform3 _transform 
)

◆ createMesh()

template<class BV >
::fcl::BVHModel<BV>* dart::collision::createMesh ( float  _scaleX,
float  _scaleY,
float  _scaleZ,
const aiScene *  _mesh,
const dart::collision::fcl::Transform3 _transform 
)

◆ createOdeGeom()

detail::OdeGeom * dart::collision::createOdeGeom ( OdeCollisionObject collObj,
const dynamics::ShapeFrame shapeFrame 
)
static

◆ cullPoints()

void dart::collision::cullPoints ( int  n,
double  p[],
int  m,
int  i0,
int  iret[] 
)

◆ dBoxBox()

int dart::collision::dBoxBox ( CollisionObject o1,
CollisionObject o2,
const dVector3  p1,
const dMatrix3  R1,
const dVector3  side1,
const dVector3  p2,
const dMatrix3  R2,
const dVector3  side2,
CollisionResult result 
)

◆ dClosestLineBoxPoints()

void dart::collision::dClosestLineBoxPoints ( const dVector3  p1,
const dVector3  p2,
const dVector3  c,
const dMatrix3  R,
const dVector3  side,
dVector3  lret,
dVector3  bret 
)

◆ dLineClosestApproach()

void dart::collision::dLineClosestApproach ( const dVector3  pa,
const dVector3  ua,
const dVector3  pb,
const dVector3  ub,
double *  alpha,
double *  beta 
)

◆ dMULTIPLY0_331()

void dart::collision::dMULTIPLY0_331 ( double *  A,
const double *  B,
const double *  C 
)
inline

◆ dMULTIPLY1_331()

void dart::collision::dMULTIPLY1_331 ( double *  A,
const double *  B,
const double *  C 
)
inline

◆ filterOutCollisions()

void dart::collision::filterOutCollisions ( btCollisionWorld *  world)

◆ Inner()

double dart::collision::Inner ( const double *  a,
const double *  b 
)
inline

◆ Inner14()

double dart::collision::Inner14 ( const double *  a,
const double *  b 
)
inline

◆ Inner41()

double dart::collision::Inner41 ( const double *  a,
const double *  b 
)
inline

◆ Inner44()

double dart::collision::Inner44 ( const double *  a,
const double *  b 
)
inline

◆ intersectRectQuad()

int dart::collision::intersectRectQuad ( double  h[2],
double  p[8],
double  ret[16] 
)

◆ isCollision()

static bool dart::collision::isCollision ( btCollisionWorld *  world)
static

◆ warnUnsupportedShapeType()

void dart::collision::warnUnsupportedShapeType ( const dynamics::ShapeFrame shapeFrame)

Variable Documentation

◆ MAX_CYLBOX_CLIP_POINTS

const int dart::collision::MAX_CYLBOX_CLIP_POINTS = 16
static

◆ nCYLINDER_AXIS

const int dart::collision::nCYLINDER_AXIS = 2
static

◆ nCYLINDER_SEGMENT

const int dart::collision::nCYLINDER_SEGMENT = 8
static