My Project: dynamics.mod/NewtonDynamics/source/core/dgIntersections.h File Reference

My Project

Classes | Typedefs | Enumerations | Functions | Variables
dgIntersections.h File Reference
`#include "dgStdafx.h"`
`#include "dgObb.h"`
`#include "dgDebug.h"`
`#include "dgVector.h"`
`#include "dgMatrix.h"`

Go to the source code of this file.

## Classes

class | dgFastRayTest
class | dgFastAABBInfo

## Typedefs

typedef dgIntersectStatus(* | dgAABBIntersectCallback) (void *const context, const dgFloat32 *const polygon, dgInt32 strideInBytes, const dgInt32 *const indexArray, dgInt32 indexCount, dgFloat32 hitDistance)
typedef dgFloat32(* | dgRayIntersectCallback) (void *const context, const dgFloat32 *const polygon, dgInt32 strideInBytes, const dgInt32 *const indexArray, dgInt32 indexCount)

## Enumerations

enum | dgIntersectStatus { t_StopSearh, t_ContinueSearh }

## Functions

bool | dgRayBoxClip (dgVector &ray_p0, dgVector &ray_p1, const dgVector &boxP0, const dgVector &boxP1)
dgVector | dgPointToRayDistance (const dgVector &point, const dgVector &ray_p0, const dgVector &ray_p1)
void | dgRayToRayDistance (const dgVector &ray_p0, const dgVector &ray_p1, const dgVector &ray_q0, const dgVector &ray_q1, dgVector &p0Out, dgVector &p1Out)
dgVector | dgPointToTriangleDistance (const dgVector &point, const dgVector &p0, const dgVector &p1, const dgVector &p2, const dgVector &normal)
dgBigVector | dgPointToTriangleDistance (const dgBigVector &point, const dgBigVector &p0, const dgBigVector &p1, const dgBigVector &p2, const dgBigVector &normal)
dgFloat32 | dgSweepLineToPolygonTimeOfImpact (const dgVector &p0, const dgVector &p1, dgFloat32 radius, dgInt32 count, const dgVector *const polygon, const dgVector &normal, dgVector &normalOut, dgVector &contactOut)
dgFloat32 | dgRayCastBox (const dgVector &p0, const dgVector &p1, const dgVector &boxP0, const dgVector &boxP1, dgVector &normalOut)
dgFloat32 | dgRayCastSphere (const dgVector &p0, const dgVector &p1, const dgVector &origin, dgFloat32 radius)
DG_INLINE dgInt32 | dgOverlapTest (const dgVector &p0, const dgVector &p1, const dgVector &q0, const dgVector &q1)
DG_INLINE dgInt32 | dgBoxInclusionTest (const dgVector &p0, const dgVector &p1, const dgVector &q0, const dgVector &q1)
DG_INLINE dgInt32 | dgCompareBox (const dgVector &p0, const dgVector &p1, const dgVector &q0, const dgVector &q1)
DG_INLINE void | dgMovingAABB (dgVector &p0, dgVector &p1, const dgVector &veloc, const dgVector &omega, dgFloat32 timestep, dgFloat32 maxRadius, dgFloat32 minRadius)
DG_INLINE dgFloat32 | BoxPenetration (const dgVector &minBox, const dgVector &maxBox)
DG_INLINE dgFloat32 | dgBoxDistanceToOrigin2 (const dgVector &minBox, const dgVector &maxBox)

## Variables

DG_MSC_VECTOR_ALIGMENT class dgFastRayTest | DG_GCC_VECTOR_ALIGMENT

## Typedef Documentation

## § dgAABBIntersectCallback

typedef dgIntersectStatus(* dgAABBIntersectCallback) (void *const context, const dgFloat32 *const polygon, dgInt32 strideInBytes, const dgInt32 *const indexArray, dgInt32 indexCount, dgFloat32 hitDistance)

## § dgRayIntersectCallback

typedef dgFloat32(* dgRayIntersectCallback) (void *const context, const dgFloat32 *const polygon, dgInt32 strideInBytes, const dgInt32 *const indexArray, dgInt32 indexCount)

## Enumeration Type Documentation

## § dgIntersectStatus

enum dgIntersectStatus

Enumerator
t_StopSearh |
t_ContinueSearh |

## Function Documentation

## § BoxPenetration()

DG_INLINE dgFloat32 BoxPenetration | ( | const dgVector & | minBox,
|  | const dgVector & | maxBox
| ) |  |

## § dgBoxDistanceToOrigin2()

DG_INLINE dgFloat32 dgBoxDistanceToOrigin2 | ( | const dgVector & | minBox,
|  | const dgVector & | maxBox
| ) |  |

## § dgBoxInclusionTest()

DG_INLINE dgInt32 dgBoxInclusionTest | ( | const dgVector & | p0,
|  | const dgVector & | p1,
|  | const dgVector & | q0,
|  | const dgVector & | q1
| ) |  |

## § dgCompareBox()

DG_INLINE dgInt32 dgCompareBox | ( | const dgVector & | p0,
|  | const dgVector & | p1,
|  | const dgVector & | q0,
|  | const dgVector & | q1
| ) |  |

## § dgMovingAABB()

DG_INLINE void dgMovingAABB | ( | dgVector & | p0,
|  | dgVector & | p1,
|  | const dgVector & | veloc,
|  | const dgVector & | omega,
|  | dgFloat32 | timestep,
|  | dgFloat32 | maxRadius,
|  | dgFloat32 | minRadius
| ) |  |

## § dgOverlapTest()

DG_INLINE dgInt32 dgOverlapTest | ( | const dgVector & | p0,
|  | const dgVector & | p1,
|  | const dgVector & | q0,
|  | const dgVector & | q1
| ) |  |

## § dgPointToRayDistance()

dgVector dgPointToRayDistance | ( | const dgVector & | point,
|  | const dgVector & | ray_p0,
|  | const dgVector & | ray_p1
| ) |  |

## § dgPointToTriangleDistance() [1/2]

dgVector dgPointToTriangleDistance | ( | const dgVector & | point,
|  | const dgVector & | p0,
|  | const dgVector & | p1,
|  | const dgVector & | p2,
|  | const dgVector & | normal
| ) |  |

## § dgPointToTriangleDistance() [2/2]

dgBigVector dgPointToTriangleDistance | ( | const dgBigVector & | point,
|  | const dgBigVector & | p0,
|  | const dgBigVector & | p1,
|  | const dgBigVector & | p2,
|  | const dgBigVector & | normal
| ) |  |

## § dgRayBoxClip()

bool dgRayBoxClip | ( | dgVector & | ray_p0,
|  | dgVector & | ray_p1,
|  | const dgVector & | boxP0,
|  | const dgVector & | boxP1
| ) |  |

## § dgRayCastBox()

dgFloat32 dgRayCastBox | ( | const dgVector & | p0,
|  | const dgVector & | p1,
|  | const dgVector & | boxP0,
|  | const dgVector & | boxP1,
|  | dgVector & | normalOut
| ) |  |

## § dgRayCastSphere()

dgFloat32 dgRayCastSphere | ( | const dgVector & | p0,
|  | const dgVector & | p1,
|  | const dgVector & | origin,
|  | dgFloat32 | radius
| ) |  |

## § dgRayToRayDistance()

void dgRayToRayDistance | ( | const dgVector & | ray_p0,
|  | const dgVector & | ray_p1,
|  | const dgVector & | ray_q0,
|  | const dgVector & | ray_q1,
|  | dgVector & | p0Out,
|  | dgVector & | p1Out
| ) |  |

## § dgSweepLineToPolygonTimeOfImpact()

dgFloat32 dgSweepLineToPolygonTimeOfImpact | ( | const dgVector & | p0,
|  | const dgVector & | p1,
|  | dgFloat32 | radius,
|  | dgInt32 | count,
|  | const dgVector *const | polygon,
|  | const dgVector & | normal,
|  | dgVector & | normalOut,
|  | dgVector & | contactOut
| ) |  |

## Variable Documentation

## § DG_GCC_VECTOR_ALIGMENT

dgFastAABBInfo DG_GCC_VECTOR_ALIGMENT