# Geometry.h File Reference

## Functions
boolean | IntersectLinePlane (const TVector3 &P0, const TVector3 &P1, const TVector3 &V0, const TVector3 &normal, TVector3 &result)
boolean | IntersectHalfLinePlane (const TVector3 &P0, const TVector3 &P1, const TVector3 &V0, const TVector3 &normal, TVector3 &result)
boolean | IntersectSegmentPlane (const TVector3 &P0, const TVector3 &P1, const TVector3 &V0, const TVector3 &normal, TVector3 &result)
boolean | IntersectLinePlane2 (const TVector3 &linePoint, const TVector3 &lineDirection, const TVector3 &planeNormal, const TVector3 &planePoint, TVector3 &result)
real32 | DistanceBetweenLines (const TVector3 &P0, const TVector3 &u, const TVector3 &Q0, const TVector3 &v, TVector3 &P, TVector3 &Q, boolean &areParallel)
real32 | DistancePointToLine (const TVector3 &point, const TVector3 &linePoint, const TVector3 &v, TVector3 &result)
real32 | DistancePointToPlane (const TVector3 &point, const TVector3 &planePoint, const TVector3 &planeNormal, TVector3 &result)
void | AngleBetweenVectors (const TVector3 &v, const TVector3 &w, const TVector3 &u, real32 &angle)
void | AngleBetweenVectors (const TVector3 &v, const TVector3 &w, const TVector3 &u, real32 &sin, real32 &cos)
boolean | ArePointsAlingned (TMCArray< TVector3 > &points)
void | OrientVectorUp (TVector3 &vector)
boolean | IntersectTriangles (const TVector3d verticesA[], const TVector3d verticesB[])
real | GetSquareDistanceFromSegment (const TVector3 &A, const TVector3 &B, const TVector3 &C, real *u=NULL)
real | GetSquareDistanceFromSegment (const TVector2 &A, const TVector2 &B, const TVector2 &C, real &u)

## Function Documentation

void AngleBetweenVectors | ( | const TVector3 & | v,
|  | const TVector3 & | w,
|  | const TVector3 & | u,
|  | real32 & | sin,
|  | real32 & | cos |
| ) |  |  |

void AngleBetweenVectors | ( | const TVector3 & | v,
|  | const TVector3 & | w,
|  | const TVector3 & | u,
|  | real32 & | angle |
| ) |  |  |

boolean ArePointsAlingned | ( | TMCArray< TVector3 > & | points | ) |

real32 DistanceBetweenLines | ( | const TVector3 & | P0,
|  | const TVector3 & | u,
|  | const TVector3 & | Q0,
|  | const TVector3 & | v,
|  | TVector3 & | P,
|  | TVector3 & | Q,
|  | boolean & | areParallel |
| ) |  |  |

real32 DistancePointToLine | ( | const TVector3 & | point,
|  | const TVector3 & | linePoint,
|  | const TVector3 & | v,
|  | TVector3 & | result |
| ) |  |  |

real32 DistancePointToPlane | ( | const TVector3 & | point,
|  | const TVector3 & | planePoint,
|  | const TVector3 & | planeNormal,
|  | TVector3 & | result |
| ) |  |  |

real GetSquareDistanceFromSegment | ( | const TVector2 & | A,
|  | const TVector2 & | B,
|  | const TVector2 & | C,
|  | real & | u |
| ) |  |  |

real GetSquareDistanceFromSegment | ( | const TVector3 & | A,
|  | const TVector3 & | B,
|  | const TVector3 & | C,
|  | real * | u = `NULL` |
| ) |  |  |

boolean IntersectHalfLinePlane | ( | const TVector3 & | P0,
|  | const TVector3 & | P1,
|  | const TVector3 & | V0,
|  | const TVector3 & | normal,
|  | TVector3 & | result |
| ) |  |  |

boolean IntersectLinePlane | ( | const TVector3 & | P0,
|  | const TVector3 & | P1,
|  | const TVector3 & | V0,
|  | const TVector3 & | normal,
|  | TVector3 & | result |
| ) |  |  |

boolean IntersectLinePlane2 | ( | const TVector3 & | linePoint,
|  | const TVector3 & | lineDirection,
|  | const TVector3 & | planeNormal,
|  | const TVector3 & | planePoint,
|  | TVector3 & | result |
| ) |  |  |

boolean IntersectSegmentPlane | ( | const TVector3 & | P0,
|  | const TVector3 & | P1,
|  | const TVector3 & | V0,
|  | const TVector3 & | normal,
|  | TVector3 & | result |
| ) |  |  |

boolean IntersectTriangles | ( | const TVector3d | verticesA[],
|  | const TVector3d | verticesB[] |
| ) |  |  |

void OrientVectorUp | ( | TVector3 & | vector | ) | `[inline]`